正しい方法はMatrix::colSums
を書くこと、です。あなたのコードを書き換える必要はありません
簡単な解決策は、ラインのどこかにあなたのコード内
colSums <- Matrix::colSums
を追加することです。次に、このcolSums
はあなたの地球環境に属しているため、他のライブラリの前にあります。
編集
私はより良い解決策を見つけました。 彼らは両方のarrange
機能を持っており、紛争の原因となるので、私はplyr
とdplyr
でデモンストレーションを行います。
例1。 dplyr
がロードされ、したがって勝ちます。
library(plyr)
library(dplyr)
environment(arrange)
# <environment: namespace:dplyr>
例2 plyr
勝ち
# unload libraries
unloadNamespace("plyr")
unloadNamespace("dplyr")
library(dplyr)
library(plyr)
environment(arrange)
キーを使用すると、search
機能で見つけることができる検索順序、です。 以下、より前にplyr
が表示されています。
search()
# [1] ".GlobalEnv" "package:plyr" "package:dplyr" "tools:rstudio"
# [5] "package:stats" "package:graphics" "package:grDevices" "package:utils"
# [9] "package:datasets" "package:methods" "Autoloads" "package:base"
例3.検索リストのどこにライブラリをロードするかを指定できます。 pos
引数。
unloadNamespace("plyr")
unloadNamespace("dplyr")
library(plyr)
library(dplyr, pos=length(search()))
environment(arrange)
# <environment: namespace:plyr>
search()
# [1] ".GlobalEnv" "package:plyr" "tools:rstudio" "package:stats"
# [5] "package:graphics" "package:grDevices" "package:utils" "package:datasets"
# [9] "package:methods" "Autoloads" "package:dplyr" "package:base"
は結論として、あなたはpos
として多数を与えるとBioconductor
ライブラリをロードすることができます。つまり、Bioconductor
はS4Vector
に、S4Vector
は矛盾の原因となっています。残念ながらrequire
ステートメントはBioconductor
パッケージ内にあるので、直接依存パッケージの位置を制御することはできません。
回避策は、あなたがpos
オプションを使用して最初のS4Vector
を読み込むことで、その後、Bioconductor
をロード:
library(S4Vector, pos=10) # replace 10 by an appropriate large number
library(Bioconductor)
その後、S4Vector
は、検索順序でMatrix
後に配置されます。あなたがMatrix
をリロードしたい場合
さらに別のSOLUTION
、そしてあなたも好き行うことができます。
library(dplyr)
library(plyr)
environment(arrange)
# <environment: namespace:plyr>
unloadNamespace("dplyr")
library(dplyr)
environment(arrange)
# <environment: namespace:dplyr>
更新:最良の解決策は、最初に「unloadNamespace」機能を使用して、コタ森で推奨されていましたリロードする前にMatrixパッケージをアンロードしてください。 –