2016-07-06 2 views
0

У меня есть таблица, как этотКак статистическая строка символов в одном столбце с языком R?

enter image description here

Теперь я хочу STATISTIC частоту k1, k2, k3 ... в колонке "ключевое слово". Как я могу это сделать.

Я хочу использовать пакет как «строка»

ссылку на файл wl.csv (на китайском языке)

Файл имеет 500 строк. Каждая строка - это бумага. Каждая статья имеет 1 ~ 3 ключевых слова. Я хочу указать частоту ключевого слова.

+1

1. Сообщение фактический код в вопросы, а не снимки экрана; 2. Что вы пробовали ?; 3. Нет пакета под названием «строка». – nrussell

+0

1. Файл - https://www.dropbox.com/s/cg0fat3onxsqrbj/wl.csv?dl=0 2.Я использую «таблицу» для подсчета частоты, не удалось. –

ответ

0

Вам не нужны никакие пакеты для этого. Кроме того, такого пакета нет, как string. Вы думаете о stringr?

Вы можете использовать strsplit, table и unlist, чтобы получить частоту во всех наблюдениях.

df <- data.frame(title=c("A","B","C"),keywords=c("k1;k2;k3","k4;k1","k1;k2"),stringsAsFactors=FALSE) 

list_of_keywords <- strsplit(df$keywords,";") 
table(unlist(list_of_keywords)) 

Результат будет:

k1 k2 k3 k4 
3 2 1 1 
-1

Если df Ваш dataframe:

df <- data.frame(Title = paste0("title",toupper(letters[1:7])), 
       keywords = c("k1;k2;k3", "k4;k1", "k1;k2", "k3;k4", "k2", "k5", "k4;k2;k5")) 


library(dplyr) 
library(stringr) 
temp <- df$keywords %>% str_split(";") 

# Obtain the frequency by flattening the list and using the table function 
table(unlist(temp)) 
Смежные вопросы