[英]Split String into factor using R
我向我們的辦公室發送了一份有趣的調查表,以獲取一些數據,以便將來組合處理調查表的工作流。 一些問題有文字輸入,回答是逗號分隔的列表。 數據是使用Google表單收集的,因此最終形成了電子表格。 我直接鏈接到該電子表格以將數據輸入R,所以我不希望對數據進行不必要的預處理。
因為進入R的csv也是逗號分隔的,所以我將逗號換成管道('|')。 我想根據對“您最喜歡的工業設計作品”等問題的回答來制作條形圖,但是很多人都說過諸如“ iPhone,可樂瓶”之類的東西。 這對我來說是帶有iPhone |可樂瓶標簽的酒吧。
我想將其拆分,以便iPhone部件有助於iPhone欄等。用其他語言,我要用管道分隔符將整個列表連接起來,然后在管道上再次拆分它,然后使用該新列表。 我一直在R中嘗試這種方法; 這是正確的方法還是還有更多的R方法?
a <- BVNdhData$Pets
b <- paste(a,collapse ="|")
c <- strsplit(b,"|",fixed=TRUE)
一切正常,但是給我留下了一個清單 ,我不知道該如何處理。
如果在unlist()
的結果上調用unlist()
, strsplit()
得到一個包含所有文本成分的單個字符向量:
text <- c("cake|pie|sausage roll", "scotch egg|pie")
x <- unlist(strsplit(text, "\\|"))
使用table()
列出條目:
table(x)
x
cake pie sausage roll scotch egg
1 2 1 1
然后將其強制為數據框...
dat <- as.data.frame(table(x))
dat
x Freq
1 cake 1
2 pie 2
3 sausage roll 1
4 scotch egg 1
...並繪制:
library(ggplot2)
ggplot(dat, aes(x, Freq)) + geom_point()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.