gpt4 book ai didi

r - 需要使用 dplyr 对多列变量的数据行求和

转载 作者:行者123 更新时间:2023-12-04 10:41:14 25 4
gpt4 key购买 nike

其他人也问过类似的问题,但他们的数据结构有点不同。我的数据集有多个用于分组变量和数字数据的列。我需要对每行的数字数据求和并将总和输出到新的数据列。查看示例 DATA设置和所需的 RESULTS下表。我更喜欢使用 mutate 找到解决方案函数在 dplyr .我主要使用dplyr包来操作我的数据集。我可以通过 gather 完成这个任务, group_by , 和 sumarise dplyr 中的函数,但我正在处理非常大的数据集,这可能导致“收集的”数据表超过 2,000,000 行。提前致谢。

DATA = data.frame(SITE = c("A","A","A","A","B","B","B","C","C"), 
DATE = c("1","1","2","2","3","3","3","4","4"),
STUFF = c(1, 2, 30, 40, 100, 200, 300, 5000, 6000),
STUFF2 = c(2, 4, 60, 80, 200, 400, 600, 10000, 12000))

RESULT = data.frame(SITE = c("A","A","A","A","B","B","B","C","C"),
DATE = c("1","1","2","2","3","3","3","4","4"),
STUFF = c(1, 2, 30, 40, 100, 200, 300, 5000, 6000),
STUFF2 = c(2, 4, 60, 80, 200, 400, 600, 10000, 12000),
SUM_STUFF = c(3, 6, 90, 120, 300, 600, 900, 15000, 18000))

最佳答案

这看起来满足您的需求:

RESULT <- DATA %>%
rowwise() %>%
mutate(SUM_STUFF = sum(STUFF,STUFF2))

关键是用 rowwise (在您提出问题后,可能已将其添加到 dplyr 的版本中)。
> RESULT
Source: local data frame [9 x 5]
Groups: <by row>

SITE DATE STUFF STUFF2 SUM_STUFF
(fctr) (fctr) (dbl) (dbl) (dbl)
1 A 1 1 2 3
2 A 1 2 4 6
3 A 2 30 60 90
4 A 2 40 80 120
5 B 3 100 200 300
6 B 3 200 400 600
7 B 3 300 600 900
8 C 4 5000 10000 15000
9 C 4 6000 12000 18000

关于r - 需要使用 dplyr 对多列变量的数据行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28976395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com