3

R を使用して、カウンター変数 (id 変数) を多数のデータセットに追加したいと考えています。たとえば、x.df と y.df の 2 つのデータセットがあります。

x1   <- c(1,3,5,7)
x2   <- letters[1:4]
x.df <- as.data.frame(cbind(x1, x2))

y1   <- c(100,200,300,400,500)
y2   <- c(letters[22:26])
y.df <- as.data.frame(cbind(y1, y2))

これらのデータセットに、id 変数「id」を追加したいと思います。

datasets <- c("x.df","y.df")

for (i in datasets) {
  i$sortid <- c(1:nrow(i))
}

これにより、次のエラーが発生します。

1 のエラー:nrow(i) : 長さ 0 の引数

エラーの原因はここで Brian Diggs によって示唆されていると思います。彼は次のように述べています。iに保持されている名前を持つオブジェクトが必要です。それが get() 関数です。

ただし、「データセット」の要素に get 関数を適用する方法がわかりません。また、リストを出力しないように変数を追加したいので、lapplyはここでは適切ではないと思いますが、間違っているのでしょうか?

コメントをお待ちしております。

リチャード

4

1 に答える 1