加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 为什么strsplit会返回一个列表

发布时间:2020-12-14 02:30:03 所属栏目:百科 来源:网络整理
导读:考虑 text - "who let the dogs out"fooo - strsplit(text," ")fooo[[1]][1] "who" "let" "the" "dogs" "out" strsplit的输出是一个列表.然后列表的第一个元素是一个向量,其中包含上面的单词. 为什么函数表现那样?是否有任何情况会返回包含多个元素的列表?
考虑
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等返回…而不是列表,则必须使用其他元素进行填充.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读