【发布时间】:2020-04-28 11:48:00
【问题描述】:
【问题讨论】:
-
你试过 rowSums() 吗?
-
Gambit - 请测试我在答案中提供的代码,如果它失败并发表评论,或者如果它有效则接受:)
标签: r dataframe data.table tidyverse
【问题讨论】:
标签: r dataframe data.table tidyverse
假设您在名为 df 的 data.frame 中有数据
df$Col_3 <- df$Col_1 + df$Col_2
在哪里
df <- data.frame("Col_1" = c(2,4,5,7,6), "Col_2" = c(3,7,4,8,4))
原始 data.frame 是使用 data.frame() 函数创建的,传递两个双类型(数字)向量,由 c() 函数创建。这两列使用$ 隔离为向量,使用算术运算符+ 求和,并使用赋值运算符<- 分配给df 中的一个新列。
其他方法包括 rowSums() 函数、tidyverse 包中的mutate() (df %>% mutate(Col_3 = Col_1 + Col_2) -> df) 或使用 data.table(请参阅 data.table 包:dt[, Col_3 := Col_1 + Col_2] 这将是我的选择到)。
【讨论】:
我建议使用 data.table,因为它很简单
DT[,"Col_3":=Col_2+Col_3]
抱歉,我没有足够的代表发表评论
【讨论】:
一个tidyverse解决方案是
library(tidyverse)
df <- df %>%
mutate(Col_3 = Col_1 + Col_2)
df 在哪里
df <- data.frame("Col_1" = c(2,4,5,7,6), "Col_2" = c(3,7,4,8,4))
【讨论】:
dplyr 1.0.0tidyverse.org/blog/2020/04/dplyr-1-0-0-rowwise中更新的rowwise()函数