日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

别人运行的好好的R代码,到我这怎么就冲突了?

發布時間:2025/3/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 别人运行的好好的R代码,到我这怎么就冲突了? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

培訓時,同一段代碼,大家都運行的好好的,而你卻出現問題了,一般都是考慮包里的函數沖突了。這時需要一個個去排查到底是哪個函數發生了沖突,有沒有更好的辦法呢?

本文介紹一個包conflicted,可以列出所有沖突的函數,并可以設置優先使用哪個函數來處理沖突。

包的安裝

install.packages("conflicted") # 或 # install.packages("devtools") # devtools::install_github("r-lib/conflicted")

加載包后,存在沖突的函數會無法運行

并且提供了兩種解決方法,都在錯誤提示中。(學程序語言,看錯誤提示并且能理解錯誤提示很重要)

library(conflicted) library(dplyr)filter(mtcars, cyl == 8) #> Error: [conflicted] `filter` found in 2 packages. #> Either pick the one you want with `::` #> * dplyr::filter #> * stats::filter #> Or declare a preference with `conflicted_prefer()` #> * conflict_prefer("filter", "dplyr") #> * conflict_prefer("filter", "stats")

使用::指定使用哪個包的哪個函數

如下,雖然寫的字母多了些,但清晰明了。如果只用到了filter函數,dyplr包都不用顯示加載。

另外,在Rstuido中,還會有函數自動補全功能,輸入dplyr::后會列出這個包里面所有外部可用函數。

相對應的還有dplyr:::可以調用dplyr中沒有export出的函數。

dplyr::filter(mtcars, am & cyl == 8) #> mpg cyl disp hp drat wt qsec vs am gear carb #> 1 15.8 8 351 264 4.22 3.17 14.5 0 1 5 4 #> 2 15.0 8 301 335 3.54 3.57 14.6 0 1 5 8

或者設定優先級

推薦在加載包的同時,就對可能會發生沖突的函數,設置使用優先級

library(dplyr) # 優先使用dplyr里面的filter函數 conflict_prefer("filter", "dplyr") #> [conflicted] Will prefer dplyr::filter over any other packagefilter(mtcars, am & cyl == 8) #> mpg cyl disp hp drat wt qsec vs am gear carb #> 1 15.8 8 351 264 4.22 3.17 14.5 0 1 5 4 #> 2 15.0 8 301 335 3.54 3.57 14.6 0 1 5 8

列出所有存在沖突的函數

如果函數后面存在[],則表示根據默認優先級或認為設定的優先級采用對應包里的函數。

如果函數后面沒有[],如lag函數,使用時就需要按上面2種方式的一種設置具體調用或優先調用哪個包里的lag函數。

conflict_scout() #> 6 conflicts: #> * `filter` : [dplyr] #> * `intersect`: [dplyr] #> * `lag` : dplyr, stats #> * `setdiff` : [dplyr] #> * `setequal` : [dplyr] #> * `union` : [dplyr]

往期精品(點擊圖片直達文字對應教程)

機器學習

后臺回復“生信寶典福利第一波”或點擊閱讀原文獲取教程合集

總結

以上是生活随笔為你收集整理的别人运行的好好的R代码,到我这怎么就冲突了?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。