0

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

例子:

在 m=10、s=1 和 y 的 2 次迭代中,这将导致:

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

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

4

2 回答 2

6

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

Data <- data.frame(y=0:2)
Data$val <- 1*10^Data$y
于 2012-08-16T21:48:46.270 回答
3

data.frame您可以通过指定其列的值来构造 a 。为此,您可以使用通常可以使用的相同向量计算:

> 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
于 2012-08-16T21:49:05.860 回答