我想计算:val = s*m^y
并将每次y迭代的结果存储在数据框中。
示例:
当m = 10,s = 1且y的2次迭代时,这将导致:
df <- data.frame(y=c(0:2), val = c(1,10,100))
我不知道如何创建这个数据框。
答案 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