R 创建具有给定初始值的新列
我想创建一个新列,给它一个初始值G,后跟2*G的平方根 我认为dplyr包将是合适的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
在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)