6

Rで最も苛立たしいことの1つは、名前を使用してアルゴリズム的かつ直感的に新しいデータフレーム変数を作成することの難しさです。

いくつかの変数を含むデータフレームがあり、それらに基づいてループ内で新しい変数を作成するとします。たとえば、既存の変数の累積合計である新しい変数を作成し、名前を付けますdf$var_cumul

temp<-as.data.frame(cbind(seq(0:10),seq(10:20)))
names(temp)<-c("x","y")
for (i in 1:ncol(temp)) {
  vname<-names(temp)[i]
  assign(paste("temp$",vname,"_cumul",sep=""),cumsum(contrs[,i]))
}

私が見つけた作品のパーミュレーションはありません。これはおそらく、定期的にRに関する私の最大の問題の1つです。

これを行うための簡単で直感的な方法はありますか?

4

1 に答える 1

7

はい、[[オペレーター:

temp <- data.frame(x = 0:10, y = 10:20)

for (n in names(temp))
  temp[[paste0(n, "_cumsum")]] <- cumsum(temp[[n]])
于 2013-01-14T18:50:49.710 に答える