考え込むのをやめてイディオムstata
を使う必要があります。R
これが機能するアプローチです(そして、あなたが考えるのをやめさせますstata
)
DF <- data.frame(timeCount = seq(0,1,l=3))
# use lapply to create a list
# with elements timeCount^1, timeCount^2, .... etc
powered <- lapply(1:9, function(x,y) x^y, x = DF$timeCount)
# give names that make sense
names(powered) <- paste0('timeCount',1:9)
# convert to a data.frame
newDF <- as.data.frame(powered)
newDF
timeCount1 timeCount2 timeCount3 timeCount4 timeCount5 timeCount6 timeCount7 timeCount8 timeCount9
1 0.0 0.00 0.000 0.0000 0.00000 0.000000 0.0000000 0.00000000 0.000000000
2 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.00390625 0.001953125
3 1.0 1.00 1.000 1.0000 1.00000 1.000000 1.0000000 1.00000000 1.000000000
@Brandonの答えは従うのが簡単かもしれませんが、ループ内でdata.frameを成長させると、毎回少なくとも1回はdata.frameが(内部的に)コピーされます。