是否在行、R数据框或Excel中查找重复值?

是否在行、R数据框或Excel中查找重复值?,r,excel,dataframe,pivot-table,vlookup,R,Excel,Dataframe,Pivot Table,Vlookup,目前需要以下数据框的帮助(在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

目前需要以下数据框的帮助(在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
dataframe继续运行大约630000行,下面是一些进一步的信息

1) 对于列company_id,每个公司都编号为1=company 1,2=company 2,依此类推。每个公司都会根据他们是否多次收到薯条、鸡蛋或奶酪而重复,这就是为什么公司2只有一行

2) “奶酪、薯条和鸡蛋”列下的数字仅表示1=“是他们点的”和0=“不是他们没有点的”,因此它就像一个理货台,但每个公司都是一行

3) 其余信息不适用,因为不需要

4) 如果一家公司选择鸡蛋、奶酪或薯条中的一种,那么它只是该栏而已!没有公司选择多个项目的情况或事件,因此所有数字都包含在该公司的单个列中

我希望找到一种方法来查找给定公司行的计数总和,因此我希望生成一个dataframe或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
库(dplyr)
dat2%
分组依据(公司id、年、月、员工范围、员工)%>%
在(VAR(奶酪、薯条、鸡蛋)、funs(sum(%))%和%
解组()
dat2
##tibble:3 x 8
#公司id年月员工范围员工奶酪薯条鸡蛋
#                             
#1 1 2014年不适用3 0 0
#2 2014年不适用0 1 0
#3 3 2014年不适用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)
dat试试这个:

library(dplyr)

df %>% 
  group_by(Company_id, Year, Month, Employee_Range) %>% 
  summarize(Cheese = sum(Cheese), 
            Chips = sum(Chips),
            Eggs = sum(Eggs)) %>%
as.data.frame()
结果如你所愿:

  Company_id Year Month Employee_Range Cheese Chips Eggs
1          1 2014    NA             NA      3     0    0
2          2 2014    NA             NA      0     1    0
3          3 2014    NA             NA      0     0    2
可能重复的