2013-07-03 5 views
0

Я работаю над текстовым анализом 20 наборов данных Newsgroups, а часть его основывается на классификации различных статей на основе слов в указанных статьях. То, что я в настоящее время смог сделать, - разобрать отдельную статью, а затем скомпилировать статистику об этом. Я могу сделать это индивидуально в каждой статье, но объединение статей кажется моим падением.Объединение фреймов данных в R-текстовом анализе

Что я ищу, чтобы быть в состоянии сделать, в R состоит в следующем:

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

Возьмите эту dataframe и сортировать его по верхней частоте, отображает только верхнюю 50.

Любая помощь будет принята с благодарностью!

+0

Я думаю, что вы ищете 'merge'. –

ответ

3

Поскольку вы не представили никаких данных примеров, я просто думаю, что ваши данные в форме, как это:

doc1 <- data.frame(word = LETTERS[sample(26, 10)], freq = sample(100, 10)) 
doc2 <- data.frame(word = LETTERS[sample(26, 10)], freq = sample(100, 10)) 

Посмотрите ? merge. Он делает то, что вы, вероятно, хотите:

merge(doc1, doc2, by = "word", all=TRUE, suffixes=c(".doc1", ".doc2")) 
+0

Что делает часть «суффиксов»? Кроме того, какие-либо советы по сортировке? Каждый раз, когда я смотрю это, я следую инструкциям, а функция «order» выдает ошибки. ЕСЛИ я должен был заказать его по частоте, наивысшим во-первых, я знаю, что мне нужно будет поместить убывающий = T, но кроме этого я не знаю, как использовать «заказ» – riders994

+2

Попробуйте без суффиксов и сравните имена кодов. Или посмотрите документацию 'merge'. Что касается порядка строк, вы можете «mdf <- merge (...); mdf [order (mdf $ freq.doc1, mdf $ freq.doc2),] ' – Beasterfield

+0

Я собираюсь проверить это сегодня вечером, спасибо! – riders994

Смежные вопросы