R Объединение строк с коэффициентами и числовыми значениями

#r

#r

Вопрос:

Я пытаюсь объединить строки во фрейме данных с коэффициентами и числовыми значениями. Вот пример, похожий на то, что я пытаюсь сделать.

 Letter Freq
a      .1
b      .2
c      .3
d      .4
 

Я хотел бы объединить строки 1, 2 и 3, например, и получить…

 Letter Freq
group  .6
d      .4
 

Обычно я могу найти что-то подобное на этом сайте, но я не уверен, что я не ищу правильную терминологию или что.

Ответ №1:

Одним из вариантов было бы изменить первые три levels в «букве» на «группу», а затем использовать aggregate для получения sum «частоты» по «букве»

 levels(df1$Letter)[1:3]  <- "group"
aggregate(Freq~Letter, df1, sum)
#   Letter Freq
#1   group  0.6
#2       d  0.4
 

Комментарии:

1. Спасибо, допустим, мне пришлось отсортировать свои данные, поэтому a, b и c на самом деле не равны 1: 3. Как мне захватить определенные строки, такие как 26, 17, 24 и 10 (в большем наборе данных)?

2. @ChristopherFlach Вы можете попробовать levels(df1$Letter)[levels(df1$Letter) %in% c('a', 'b', 'c')] <- "group"