我的数据集包含一个名为Cuisine的列 在美食表中,每个记录都可以包含“ Indian,Italian”等值 现在我有:
pizza 132
pizza, 257
我希望其中的最高者出现在情节上,所以我希望“比萨饼”不同时出现在他们身上
我的代码:
cuisine <- Corpus(VectorSource(dataSet$Cuisines))
dtm <- TermDocumentMatrix(cuisine)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
head(d, 100)
d <- subset(d, freq>=100)
# use aggregate to create new data frame with the maxima
df.agg <- aggregate(freq ~ word, d, max)
# then simply merge with the original
df.max <- merge(df.agg, d)
df.max
df.max %>%
mutate(name = fct_reorder(word, freq)) %>%
ggplot( aes(x=word, y=freq)) +
geom_bar(stat="identity") + labs(title= "Cuisines") +
coord_flip()
数据:
word freq
1 american, 332
2 asian 108
3 asian, 127
4 bakery 310
5 bakery, 435
6 beverages 172
7 biryani 105
8 burger 107
9 burger, 144
10 cafe 364
11 cafe, 343
12 chinese 1506
13 chinese, 1229
14 continental 254
问题在于,它会使像我上面解释的重复名称出现,我该如何解决此问题。