首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建一个新的DF,从年度数据( R)中总结年度总价值?

如何创建一个新的DF,从年度数据( R)中总结年度总价值?
EN

Stack Overflow用户
提问于 2022-09-25 08:07:45
回答 2查看 36关注 0票数 0

如果这个Q已经被问到了,很抱歉(我看过了,但是其他的问题并没有帮助)。我正在尝试从现有的df中创建一个新的df,该df计算来自多个列的年总值,每一行都是一年。所以,我的df看起来是这样的:

代码语言:javascript
复制
| year     | v1             | v2  | v3
| -------- | -------------- |-----|-----
| 2021     |  5             |4    |6
| 2021     | 10             |5    |3
| 2020     | 7              |8    |5
| 2020     | 3              |3    |4
| 2019     | 3              |1    |8

我想要的是一个新的df看起来:

代码语言:javascript
复制
| year     | v1             | v2  | v3
| -------- | -------------- |-----|-----
| 2021     | 15             |9    |9
| 2020     | 10             |11   |9
| 2019     | 3              |1    |8

我尝试过这样的方法,但没有任何运气:

代码语言:javascript
复制
newdf<- df %>% 
  group_by(year) %>%     # create the groups
  summarise(v1 = sum(v1))

请让我知道,如果我应该包括其他信息:)谢谢v.much提前对您的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-25 08:54:25

在这种任务中,我使用的是“身在何处”的构造。此代码选择所有数值列,并对所有列进行求和。

代码语言:javascript
复制
newdf<- df %>% 
  group_by(year) %>%     # create the groups
  summarise(across(where(is.numeric), sum, na.rm = T))
票数 1
EN

Stack Overflow用户

发布于 2022-09-25 08:33:09

R基应该能做到这一点:

代码语言:javascript
复制
newdf <- cbind(year = df$year, total = rowSums(x = df[, -1]))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73842932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档