在data.frame
中,我有一個文本語言的分類變量。但是,雖然大多數文本只能使用一種語言,但有些使用多種語言。在我的數據,它們出現在同一列,用逗號分隔:R - 在一個變量中將多個值作爲一個字符串處理
text = c("Text1", "Text2", "Text3")
lang = c("fr", "en", "fr,en")
d = data.frame(text, lang)
視覺:
text lang
1 Text1 fr
2 Text2 en
3 Text3 fr,en
我想繪製文本的數量在每一種語言,用文本3被同時統計在fr
和en
中。
我發現如何分割,與:
d$lang <- strsplit(d$lang, ",")
但我無法找到一個方法來正確地繪製它,例如用qplot
barplot像這樣的:
qplot(lang, data=d)
我這樣做對嗎?有更好的方法嗎?
你不能將一個列表傳遞給'qplot',它的默認圖是散點圖。嘗試使用'qplot(x = unlist(strsplit(as.character(d $ lang),「,」)),geom =「bar」)'或者爲''greplot''應答。'barplot(table(unlist(strsplit (as.character(d $ lang),「,」))))'或 – user20650
非常感謝。 有沒有辦法在維護其他數據列時使用'unlist'? 在上面的例子中,假設我還有第三列,我想保持與lang對齊,有沒有辦法?也許通過重複觀察? –