【发布时间】:2018-05-15 09:52:57
【问题描述】:
本着here 和here 类似问题的精神,我希望能够对我的data_frame 中的一系列列求和并创建一个新列:
df_abc = data_frame(
FJDFjdfF = seq(1:100),
FfdfFxfj = seq(1:100),
orfOiRFj = seq(1:100),
xDGHdj = seq(1:100),
jfdIDFF = seq(1:100),
DJHhhjhF = seq(1:100),
KhjhjFlFLF = seq(1:100),
IgiGJIJFG= seq(1:100),
)
# this does what I want
df_abc %>%
mutate(
sum_1 = orfOiRFj + xDGHdj + jfdIDFF + DJHhhjhF
)
显然,如果这个序列中有很多变量,将它们输入出来是不可行的。此外,变量的名称不是正则表达式友好的,因此不能通过规则选择,除非它们按顺序出现。
我希望在 tidyverse 中存在一个抽象,它允许类似:
df_abc %>%
mutate(
sum_1 = sum(orfOiRFj:DJHhhjhF)
)
谢谢。
【问题讨论】:
-
这可能是 stackoverflow.com/questions/27354734 的副本。在我的回答中,我包含了一个选项,可以转换为
df_abc %>% mutate(sum_1 = select(., orfOiRFj:DJHhhjhF) %>% rowSums())以供您回答