r - 如何使用某些函数在列中插入行
问题描述
假设我有以下数据框
data = data.frame(age=c("a","a","b","b"),cause=c("one","two","one","two"),value=c(1,2,5,8))
data
age cause value
1 a one 1
2 a two 2
3 b one 5
4 b two 8
我想创建一个新的原因,将两个年龄段的原因值相加,如下所示
data
age cause value
1 a one 1
2 a two 2
3 b one 5
4 b two 8
5 a onetwo 3
6 b onetwo 13
知道我该怎么做吗?
解决方案
一种选择是使用dplyr
:
library(dplyr)
data <- data.frame(age=c("a","a","b","b"),cause=c("one","two","one","two"),value=c(1,2,5,8),
stringsAsFactors = FALSE)
data <- bind_rows(data, data %>% group_by(age) %>%
summarise(cause = paste0(cause, collapse = ""),
value = sum(value)))
推荐阅读
- node.js - 如何为 Joi 中的所有字段设置默认自定义消息
- parsing - 如何修复以下 Read1 实例?
- javascript - 切换显示所有类
- reactjs - 调用 API 来检索数据是一项繁重的操作
- typescript - 如何在 Typescript 中使用 Proxy 重新定义方法的返回类型
- python - Azure(函数)参数在 Python 中声明,但不在 function.json 中
- android - Android:如何用改造填充数组列表(Kotlin)
- html - 如何在没有javascript的情况下更改按钮文本
- reactjs - npm run build 没有缩小 reactJs 项目
- firebase - Firebase 存储规则是否会覆盖云存储权限?