1. ホーム
  2. スクリプト・コラム
  3. その他

[解決済み】エラー:Rの無効な添え字型'list'

2021-12-30 12:27:26

質問

eclipseのパラメータで関数を作成し、異なる関数パラメータを処理したいのですが、実行するとエラーが報告されます:。

> d <- data.frame(alpha=1:3, beta=4:6, gamma=7:9)
> d
  alpha beta gamma
1     1    4     7
2     2    5     8
3     3    6     9

> x <- list("alpha", "beta")
> rowSums(d[,c(x)])
Error in .subset(x, j) : invalid subscript type 'list'

解決方法は?

連結を使って vector の代わりに list

x <- c("alpha", "beta")
rowSums(d[x])
#[1] 5 7 9

で、もし list であれば unlist を作成するために、それを vector として data.frame を取る。 vector 列名 (列のインデックス) または行名 (行のインデックス) を指定して、列または行をサブセットします。

x <- list("alpha", "beta")
rowSums(d[unlist(x)])
#[1] 5 7 9