私が書いているスクリプトでエラーが発生しました。これは、dplyr
を実行している場合にのみ発生します。最初に、私が使用したかったdplyr
の機能を見つけたときにそれに遭遇しました。その後、パッケージをインストールして実行しました。ここに私のエラーの例です:dplyr無効な添字タイプリスト
まず私は、私はそれでインデックスとして使用するつもり列の値があるExcelから表を読み込む:
library(readxl)
examplelist <- read_excel("example.xlsx")
ファイルの内容は次のとおりです。
を1 2 3 4
1 1 4 1
2 3 2 1
4 4 1 4
そして、私は、データフレームの構築:
testdf = data.frame(1:12, 13:24, 25:36, 37:48)
をそして私は、その関数を呼び出すループを持っていますインデックスとしてexamplelist
の値を使用します。
testfun <- function(df, a, b, c, d){
value1 <- df[[a]]
value2 <- df[[b]]
value3 <- df[[c]]
value4 <- df[[d]]
}
for (i in 1:nrow(examplelist)){
testfun(testdf, examplelist[i, 1], examplelist[i, 2],
examplelist[i, 3], examplelist[i, 4])
}
私はdplyr
せずにこのスクリプトを実行すると、すべてが正常ですが、dplyr
と、それは私にエラーを与える:
Error in .subset2(x, i, exact = exact) : invalid subscript type 'list'
はなぜこのエラーdplyr
原因を持つだろう、とどのように私はそれを修正することができますか?
これはうまくいきますが、 'dplyr'を読み込んで' examplelist [1、2] 'の値を変更する理由はまだわかりません(これは' dplyr'の有無をチェックしたものです)。 [a、b]を使ってデータフレームをサブセット化すると結果が簡単になります(少なくともAdvanced Rが教えてくれたことです)。どうして 'dplyr'を読み込むとその動作が変わるのですか? –