整理数据:对值进行分组并保留日期

时间:2017-01-27 10:53:10

标签: r dplyr tidyr

我开始使用dplyr / tidyr包进行数据处理和重新整形。

city <- c("Brest", "Brest", "Rennes", "Rennes", "Rennes") 
year<- c(2014, 2015, 2013, 2012, 2016) 
values <- c(100, 100, 110, 95, 95) 

# Création du data.frame
dataset <- data.frame(city, year, values)  
dataset

这是我的数据集:

city    year    value
Brest   2014    100     
Brest   2015    100     
Rennes  2013    110     
Rennes  2012    95      
Rennes  2016    95  

我在做什么:

demo <- dataset %>%
    count(city, values) %>%
    arrange(city)

......和我的结果:

 city   value  n. of obs
 Brest  100     2       
 Rennes 95      2       
 Rennes 110     1   

我期望得到的东西:

第一个选项:

  city   value  n. of obs      year
  Brest     100     2          2014, 2015
  Rennes    95      2          2012, 2016
  Rennes    110     1          2013

第二个选项:

  city   value  n. of obs   year1    year 2
  Brest     100     2       2014     2015
  Rennes    95      2       2012     2016
  Rennes    110     1       2013

我可以将mutate添加到我的管道吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我们可以按操作进行分组,然后summarise paste将“年份”放在一起(toStringpaste(..., collapse=", ")的包装)

dataset %>%
      group_by(city, values) %>%
      summarise(n = n(), year = toString(year))

或者,如果我们想要第二个选项,在按操作分组后,按n()字符串'year'创建行数(paste)和序列列{{1}然后执行row_number()将其转换为'wide'格式

spread