Как проверить, является ли слово в фрейме данных именем в R

#r #dataframe #count

Вопрос:

Я написал сценарий R, который фильтрует данные и сохраняет их в новом фрейме данных. Помимо прочего, он фильтрует наиболее часто используемые слова следующим образом:

 Word Times Oliver 3 Great 8 Jacob 2 Fantastic 6  

Есть ли способ в R отфильтровать последний кадр данных, чтобы он выглядел так, учитывая список имен?

(Это берет имена, подсчитывает их, а затем добавляет их в новую строку с именем имена, которая подсчитывает время появления всех имен)

 Word Times Names 5 # Oliver [3]   Jacob [2] Great 8 Fantastic 6  

Ответ №1:

Я использую x вместо names .

Базовый R способ

 x lt;- c('oliver','jacob','harry', 'jack')  y lt;- sum(df$Times[df$Word %in% x]) rbind(c("names", y), df[!(df$Word %in% x), ])   Word Times 1 names 5 2 great 8 4 fantastic 6  

Ответ №2:

Решение dplyr

 names lt;- c('oliver','jacob','harry', 'jack')  df %gt;%   summarize_each(funs(ifelse(Word %in% names, "names", .))) %gt;%  group_by(Word) %gt;%   summarize(sum(Times))  # A tibble: 3 × 2  Word `sum(Times)`  lt;chrgt; lt;dblgt; 1 fantastic 6 2 great 8 3 names 5