2012-08-16 62 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