考虑
text <- "who let the dogs out"
fooo <- strsplit(text, " ")
fooo
[[1]]
[1] "who" "let" "the" "dogs" "out"
strsplit
的输出是一个列表。然后列表的第一个元素是一个向量,它包含上面的单词。
为什么函数表现那样?是否有任何情况会返回包含多个元素的列表?
我可以使用
访问这些单词fooo[[1]][1]
[1] "who"
,但是没有更简单的方法吗?
答案 0 :(得分:10)
对于您的第一个问题,我想到的一个原因是,它可以在同一个对象中保留不同长度的结果向量,因为它在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
返回,则必须使用其他元素填充。