Создание пробелов в наборе данных

#r

#r

Вопрос:

Это может быть очень просто в R, но я пытаюсь придумать способ, как это сделать, и понятия не имею, как это сделать в Google.

У меня есть это:

Age Count
1 5
2 1
3 2
4 1
5 1
и я хочу это:

Age Count
1-5 10

Ответ №1:

Вы можете сделать это с помощью 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 to sum по новому int столбцу

 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)
  

Ответ №2:

Используя 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