2012-01-26 3 views
1

У меня есть R data.frame формы:Создание простой term.matrix из dataframe

  name masterchef newsnight shameless 
1 charliesheen  202  118  235 
2 JohnBishop100  209  95  196 
3  rioferdy5  195  152  274 

, и я хотел бы использовать R Wordcloud commonality.cloud и comparison.cloud процедуры для сравнения значения столбца. Подпрограммы * .cloud берут term.matrix, а не данные, такие как frame, например, как я могу преобразовать исходный data.frame в term.matrix?

+1

не ли ', как .matrix' хватает? –

+0

'commonality.cloud' не является функцией, которую RSiteSearch() может найти. –

+0

Это, по-видимому, очень, очень новая версия пакета wordcloud, который еще не на всех зеркалах ... –

ответ

1

Следующий код, похоже, работает. Главное, чтобы понять, что term.matrix не является типом объекта. Вместо этого это имя аргумента, который ожидает, что будет передан объект matrix, состоящий из частот слова.

(Еще одно замечание:. В ходе подготовки этой матрицы, убедитесь, что name столбец из вашего фрейма данных заканчивается в dimnames Матрицы атрибута, а не в его теле)

# Create the example data.frame 
df <- read.table(text = "name masterchef newsnight shameless 
charliesheen  202  118  235 
JohnBishop100  209  95  196 
rioferdy5  195  152  274", header=TRUE) 

# Convert the frequency columns to a matrix, 
# and use the 'name' column as its row names 
mat <- as.matrix(df[-1]) 
dimnames(mat)[1] <- df[1] 

# Check that it works 
library(wordcloud) 
commonality.cloud(term.matrix = mat) 
+0

thanks; Теперь я понимаю, что не понимаю, как обращаться с dimnames ... – psychemedia

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