R 创建具有给定初始值的新列

R 创建具有给定初始值的新列,r,dplyr,R,Dplyr,我想创建一个新列,给它一个初始值G,后跟2*G的平方根 我认为dplyr包将是合适的 在MS Excel中,对于B列,它类似于,*G、B2*sqrt2、B3*sqrt2等等*。现在,我想在R中执行此操作。欢迎提供任何帮助/意见。您只需指定要应用的列和公式的逻辑: data<- data.frame(Col1 = 1:10) data %>% mutate(Col2 = sqrt(2)**Col1) Col1 Col2 1 1 1.414214 2

我想创建一个新列,给它一个初始值G,后跟2*G的平方根

我认为dplyr包将是合适的


在MS Excel中,对于B列,它类似于,*G、B2*sqrt2、B3*sqrt2等等*。现在,我想在R中执行此操作。欢迎提供任何帮助/意见。

您只需指定要应用的列和公式的逻辑:

data<- data.frame(Col1 = 1:10)
data %>% mutate(Col2 = sqrt(2)**Col1)
      Col1      Col2
1     1  1.414214
2     2  2.000000
3     3  2.828427
4     4  4.000000
5     5  5.656854
6     6  8.000000
7     7 11.313708
8     8 16.000000
9     9 22.627417
10   10 32.000000

我想你们正在寻找累积产品

df$b <- cumprod(df$b)

# a        b
#1 a 1.414214
#2 b 2.000000
#3 c 2.828427
#4 d 4.000000
#5 e 5.656854
资料


您能在预期输出的同时添加一个小的可复制示例吗?谢谢。是否可以创建一个初始值为1.41的Col2,然后与sqrt2相乘,使值为1.99、2.82、3.99……我重新编辑了我的答案,让您了解几种方法
data<- data.frame(Col1 = rep(sqrt(2),10))
data %>% mutate(Col2 = cumprod(Col1))
       Col1      Col2
1  1.414214  1.414214
2  1.414214  2.000000
3  1.414214  2.828427
4  1.414214  4.000000
5  1.414214  5.656854
6  1.414214  8.000000
7  1.414214 11.313708
8  1.414214 16.000000
9  1.414214 22.627417
10 1.414214 32.000000
df$b <- cumprod(df$b)

# a        b
#1 a 1.414214
#2 b 2.000000
#3 c 2.828427
#4 d 4.000000
#5 e 5.656854
Reduce(`*`, df$b, accumulate = TRUE)
#[1] 1.414214 2.000000 2.828427 4.000000 5.656854
df <- data.frame(a = letters[1:5])
df$b <- sqrt(2)