亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

R:在自寫包中使用magrittr管道運算符

R:在自寫包中使用magrittr管道運算符

繁星點點滴滴 2019-12-21 12:51:13
我想在我自己編寫的一個程序包中使用%>%該magrittr程序包中介紹的管道運算符來鏈接dplyr數據轉換。在文件中magrittr列出。加載我自己的包并測試使用管道運算符的功能后,我收到以下錯誤消息:ImportDESCRIPTION函數名錯誤(參數,:找不到函數“%>%”更改%>%為magrittr::%>%函數源代碼也無濟于事,因為無法再構建軟件包。
查看完整描述

3 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

如果您已在中magrittr列出,它應該可以正常工作Depends。但是,不建議這樣做。相反,您留magrittr在其中Imports,并將以下行添加到NAMESPACE:


importFrom(magrittr,"%>%")

我建議閱讀寫作R擴展。您的問題在1.1.3和1.5.1段中討論。


查看完整回答
反對 回復 2019-12-21
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

另一種解決方案-使用roxygen包裝。它作為devtools軟件包的一部分實現。一旦devtools被安裝,調用devtools::document()將更新NAMESPACE為您服務。它還使用文檔自動生成.Rd文件,非常方便。

您要做的就是以格式添加特殊注釋#' @import packagename到文件中,以從該包中導入所有功能或#' @importFrom packagename functionname導入一個功能。您可以在文件中隨意添加這些注釋,因此可以在每個文件的頂部或每個需要外部函數的函數中包含一組注釋。

然后運行devtools::document(),它解析您的代碼以查找那些注釋,然后NAMESPACE為您創建一個合適的文件。簡單。


查看完整回答
反對 回復 2019-12-21
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

現在,有一種更簡單的方法可以在包裝中支撐管道。精美的包裝usethis具有功能use_pipe()。您只需運行一次該函數即可處理所有內容。這是use_pipe()在usethis文檔中描述功能的方式:


是否需要進行設置才能在包中內部使用magrittr的管道并為包用戶重新導出:


將magrittr添加到DESCRIPTION中的“導入”


使用必要的制氧模板創建R / utils-pipe.R


查看完整回答
反對 回復 2019-12-21
  • 3 回答
  • 0 關注
  • 897 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號