2017-06-07 5 views
1

私は30個のデータを持つデータセットを持っており、それらをすべて環境に読み込むためのループを作成しました。 (それはうまくいく)。複数のデータに新しい変数を作成する

これらの変数はすべて同じ6つの変数を持ち、ループを作成して、すべての変数を新しい変数にしたいと考えています。この変数は、他の2つの変数の減算で構成する必要があります。どちらも数値です。だから私のコードです。

list <- c("Data1", "Data2", "Data3", "Data4") 

for (i in list){ 

i[,7] <- i[,5] - i[,2] 

} 

Get this: 
Error in i[, 5] : incorrect number of dimensions 

Rは、リスト内の変数としてiを擬似できません。しかし、私は前のループ(すべてのデータを環境に読み込むこと)が完璧に機能するので、なぜか分からない。私はまたi$Variable7 <- i$Variable5 - i$Variable2を書くことを試みるが、doesntの仕事、あまりにも。

答えて

0

私たちは、私たちは本当に、元のデータセットオブジェクトを更新したい場合は第五の違いと7列および第二列

lst <- lapply(mget(list), function(x) {x[,7] <- x[,5] - x[,2]; x}) 

を更新し、lapplylistlist、ループ内のデータセットを取得することができ、

list2env(lst, envir = .GlobalEnv) 

それはグラム文字列をループしていなかったので、OPのコードが機能しなかった理由でしたデータセットオブジェクトの値の設定

関連する問題