2012-08-16 68 views
0

我想計算:val = s*m^y並將每個y次迭代的結果存儲在數據幀中。在數據幀中存儲迭代

實施例爲:y的

在M = 10,S = 1和2次迭代,這將導致:

df <- data.frame(y=c(0:2), val = c(1,10,100)) 

我不知道如何創建該數據幀。

回答

6

^是向量化的。無需迭代。

Data <- data.frame(y=0:2) 
Data$val <- 1*10^Data$y 
+1

謝謝!很簡單,我開始越來越喜歡R. – jeroen81 2012-08-16 21:51:43

3

您通過指定列的值構建一個data.frame。爲此,您可以使用通常可以使用的相同矢量計算:

> y <- 0:2 
> y 
[1] 0 1 2 
> s <- 1 
> m <- 10 
> val <- s*m^y 
> val 
[1] 1 10 100 
> df <- data.frame(y=y, val=val) 
> df 
    y val 
1 0 1 
2 1 10 
3 2 100