介绍

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 在字面上匹配拆分字符。