介紹

strsplit 是一個有用的函式,用於將向量分解為某些字元模式的列表。使用典型的 R 工具,整個列表可以重新整合到 data.frame 或列表的一部分可以用於圖形練習。

以下是 strsplit 的常用用法:沿逗號分隔符中斷字元向量:

temp <- c("this,that,other", "hat,scarf,food", "woman,man,child")
# get a list split by commas
myList <- strsplit(temp, split=",")
# print myList
myList
[[1]]
[1] "this"  "that"  "other"

[[2]]
[1] "hat"   "scarf" "food" 

[[3]]
[1] "woman" "man"   "child"

如上所述,split 引數不僅限於字元,還可以遵循正規表示式規定的模式。例如,temp2 與上面的 temp 相同,只是每個專案的分隔符都已更改。我們可以利用 split 引數接受正規表示式來減輕向量中的不規則性這一事實。

temp2 <- c("this, that, other", "hat,scarf ,food", "woman; man ; child")
myList2 <- strsplit(temp2, split=" ?[,;] ?")
myList2
[[1]]
[1] "this"  "that"  "other"

[[2]]
[1] "hat"   "scarf" "food" 

[[3]]
[1] "woman" "man"   "child"

備註

  1. 分解正規表示式語法超出了此示例的範圍。
  2. 有時匹配正規表示式會降低程序的速度。與允許使用正規表示式的許多 R 函式一樣,固定引數可用於告訴 R 在字面上匹配拆分字元。