Я хочу вывести несколько файлов PNG, и я не знаю, как их назвать. В основном я хочу сделать несколько облаков слов, используя один фрейм данных. Один столбец содержит данные, из которых должны быть сделаны слова облака, и один столбец содержит категории, для которых должны быть созданы облака слов. Я написал функцию для создания единого облака слов. Теперь я хочу, чтобы сохранить все слова облака на одном дыхании, используя tapply (или что-то еще), и каждое слово облако должно получить имя, как category_name.png
Это воспроизводимая версия кода, который я написалдинамически присваивать имя фактора/строки внутри функции в R
library(tm)
library(wordcloud)
String_column = rep(c("hello round world", "beautiful round world", "good girls world", "unfair mean world", "hi girls hello","sad girls sorry"),6)
Category_column = rep(c("Neutral", "Pos", "Pos", "Neg", "Neutral","Neg"),6)
getCloudData <- function(StrCol,CatCol){
answer_text <- paste(StrCol, collapse=" ")
answer_source = VectorSource(answer_text)
corpus = Corpus(answer_source)
dtmWords = DocumentTermMatrix(corpus)
matrixWords = as.matrix(dtmWords)
freqWords = colSums(matrixWords)
freqWords = sort(freqWords, decreasing = TRUE)
words <- names(freqWords)
png("C:\\Users\\GSinghal\\Downloads\\Text Mining\\catagory_xyz.png")
wordcloud(words[1:3], freqWords[1:3])
dev.off()
}
getCloudData(String_column,Category_column)
tapply(String_column, Category_column,getCloudData)
сейчас когда я использую tapply Я хочу, чтобы все три файла были сохранены с именами Neutral.png, Pos.png и Neg.png. Фактические данные содержат около 11 000 строк и от 20 до 65 категорий.
Я не уверен, что понимаю, что вы пытаетесь сделать, но я думаю, вам нужно переписать функцию, чтобы использовать одно значение из столбца категории, а затем запустить цикл 'for' для повторения этой функции уникальные значения 'Category_column'. Таким образом, вы получаете один сюжет за значение 'Category_column', каждый из которых использует все значения' String_column'. Правильно ли это звучит? – ulfelder
Спасибо, ulfelder, я закончил тем, что написал код так, как вы предлагали. Спасибо –