簡體   English   中英

使用R將字符串拆分為因子

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM