R中的数据分组和十年的总结

时间:2017-12-13 17:40:01

标签: r

我有以下数据集:

ireland england france year
5         3      2     1920
4         3      4     1921
6         2      1     1922
3         1      5     1930
2         5      2     1931

我需要在1920年代和1930年代总结这些数据。所以我需要在1920 - 1922年为爱尔兰,英格兰和法国提供总分,然后在1930年,1931年为爱尔兰,英格兰和法国提供另外的总分。

有什么想法吗?我试过但失败了。

数据集:

x <- read.table(text = "ireland england france 
5         3      2     1920
4         3      4     1921
6         2      1     1922
3         1      5     1930
2         5      2     1931", header = T)

2 个答案:

答案 0 :(得分:1)

如何将年份除以10然后总结?

library(dplyr)
x %>% mutate(decade = floor(year/10)*10) %>% 
      group_by(decade) %>% 
      summarize_all(sum) %>% 
      select(-year)
# A tibble: 2 x 5
#   decade ireland england france
#    <dbl>   <int>   <int>  <int>
# 1   1920      15       8      7
# 2   1930       5       6      7

答案 1 :(得分:0)

R碱溶液

如上所述A5C1D2H2I1M1N2O1R2T1,您可以使用findIntervals()设置每年的相应十年,然后aggregate()组py decade

txt <-
"ireland england france year
5         3      2     1920
4         3      4     1921
6         2      1     1922
3         1      5     1930
2         5      2     1931"

df <- read.table(text=txt, header=T)

decades <- c(1920, 1930, 1940)
df$decade<- decades[findInterval(df$year, decades)]
aggregate(cbind(ireland,england,france) ~ decade , data = df, sum)

输出:

  decade ireland england france
1   1920      15       8      7
2   1930       5       6      7