r - 在行、R 数据框或 Excel 中查找重复值的出现?
问题描述
目前需要以下数据框的帮助(这也是 Excel 中的相同格式,因此可以在 Excel 或 R 中完成)
数据框:
Company_id Year Month Employee_Range Employees Cheese Chips Eggs
1 2014 NA NA NA 1 0 0
1 2014 NA NA NA 1 0 0
1 2014 NA NA NA 1 0 0
2 2014 NA NA NA 0 1 0
3 2014 NA NA NA 0 0 1
3 2014 NA NA NA 0 0 1
数据框继续大约 630,000 行,这里有一些进一步的信息
1) 对于company_id 列,每个公司都有编号,因此1 = 公司1,2 = 公司2,依此类推。每家公司根据他们是否多次收到薯条、鸡蛋或奶酪而重复,这就是为什么公司 2 只有一排。
2) 列下的数字,奶酪,薯条和鸡蛋仅表示 1 = “是的,他们订购了”和 0 = “不,他们没有订购”,所以它就像一个理货表,但每个公司都是一行
3) 其余信息不适用,因为不需要
4)如果一家公司选择了鸡蛋、奶酪或薯条中的一种,那么它只是那个栏目!没有公司选择多个项目的情况或发生,因此所有数字都包含在该公司的单个列中。
我想要一种方法来查找给定公司行的计数总和,所以我想生成一个数据框或 Excel 表,例如:
Company_id Year Month Employee_Range Employees Cheese Chips Eggs
1 2014 NA NA NA 3 0 0
2 2014 NA NA NA 0 1 0
3 2014 NA NA NA 0 0 2
任何想法都有帮助,
谢谢,
解决方案
使用dplyr
. dat2
是最终的输出。
library(dplyr)
dat2 <- dat %>%
group_by(Company_id, Year, Month, Employee_Range, Employees) %>%
summarise_at(vars(Cheese, Chips, Eggs), funs(sum(.))) %>%
ungroup()
dat2
# # A tibble: 3 x 8
# Company_id Year Month Employee_Range Employees Cheese Chips Eggs
# <int> <int> <lgl> <lgl> <lgl> <int> <int> <int>
# 1 1 2014 NA NA NA 3 0 0
# 2 2 2014 NA NA NA 0 1 0
# 3 3 2014 NA NA NA 0 0 2
数据
dat <- read.table(text = "Company_id Year Month Employee_Range Employees Cheese Chips Eggs
1 2014 NA NA NA 1 0 0
1 2014 NA NA NA 1 0 0
1 2014 NA NA NA 1 0 0
2 2014 NA NA NA 0 1 0
3 2014 NA NA NA 0 0 1
3 2014 NA NA NA 0 0 1",
header = TRUE)
推荐阅读
- django - localhost:8000 不起作用,但 127.0.0.1:8000 是 django
- kubernetes - 当我们将 Statefulset 升级到更新的镜像版本时会发生什么?
- python - Python 3:如何在两个日期范围内获得工作日
- javascript - 对整个网页的不同场景使用通用模态
- selenium - 无法将 selenium 网格与 Aws Ec2 实例连接
- javascript - 如何在 Discord.js 中制作 DM 提示?
- python - 在我的 sbmissions 页面中,用户必须获取该特定用户添加的数据
- angular - 无法第二次触发事件
- javascript - React Lazy 做 Switch 没用?
- git - 如何在其基础分支基于主分支后重新设置分支