考虑
text <- "who let the dogs out"
fooo <- strsplit(text, " ")
fooo
[[1]]
[1] "who" "let" "the" "dogs" "out"
strsplit
的输出是一个列表。列表的第一个元素是一个向量,其中包含上面的单词。为什么函数会这样?是否有任何情况下它会返回一个包含多个元素的列表?
我可以使用访问这些词
fooo[[1]][1]
[1] "who"
,但是没有更简单的方法吗?
最佳答案
对于您的第一个问题,想到的一个原因是它可以在同一对象中保留不同长度的结果向量,因为它是在 x
上进行向量化的。 :
text <- "who let the dogs out"
vtext <- c(text, "who let the")
##
> strsplit(text, " ")
[[1]]
[1] "who" "let" "the" "dogs" "out"
> strsplit(vtext, " ")
[[1]]
[1] "who" "let" "the" "dogs" "out"
[[2]]
[1] "who" "let" "the"
如果将其作为
data.frame
返回, matrix
, 等等... 而不是 list
,它必须用额外的元素填充。
关于regex - 为什么 strsplit 返回一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27195912/