在数据框中存储迭代

时间:2012-08-16 21:40:42

标签: r

我想计算:val = s*m^y并将每次y迭代的结果存储在数据框中。

示例:

当m = 10,s = 1且y的2次迭代时,这将导致:

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

我不知道如何创建这个数据框。

2 个答案:

答案 0 :(得分:6)

^是矢量化的。无需迭代。

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

答案 1 :(得分: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