在数据集中创建缺口

时间:2019-03-17 13:35:31

标签: r

这在R语言中可能是非常基本的,但是我想尝试一种方法来做到这一点,却不知道如何使用谷歌搜索。

我有这个:

Age Count 1 5 2 1 3 2 4 1 5 1 我想要这个:

Age Count 1-5 10

2 个答案:

答案 0 :(得分:2)

您可以使用cut函数来完成此操作。

这会将age放在通过breaks参数指定的间隔中。

d$int <- cut(d$Age, breaks = c(-Inf, 5), labels = "1-5") # create your new interval

#d
#   Age Count int
# 1   1     5 1-5
# 2   2     1 1-5
# 3   3     2 1-5
# 4   4     1 1-5
# 5   5     1 1-5

在新的aggregate列中使用sumint

aggregate(Count ~ int, data=d, sum)
#    int Count
# 1 1-5    10

数据:

d <- read.table(text = "Age Count
  1     5 
                2     1 
                3     2 
                4     1 
                5     1", header=T)

答案 1 :(得分:0)

使用dplyr

library(dplyr)
df %>% 
  mutate(Int=findInterval(Age,c(1,5),rightmost.closed = T),
         Age=ifelse(Int==1,"1-5",Age)) %>% 
  group_by(Age) %>% 
 summarise(Count=sum(Count))
# A tibble: 1 x 2
  Age   Count
  <chr> <int>
1 1-5      10