首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R、readLines、strsplit和grep

R、readLines、strsplit和grep
EN

Stack Overflow用户
提问于 2014-01-22 07:35:49
回答 1查看 1.4K关注 0票数 0

我正在尝试读取一个随机的文本文件,每次一行。然后将行拆分为“单词”,并对每个单词执行一些正则表达式,比如查找所有以"w“开头的单词。在下面类似的代码片段之后,我得到了:

代码语言:javascript
复制
while (length(oneLine <- readLines(infile, n = 1, warn = FALSE)) > 0) {
    myVector <- (strsplit(oneLine, " ", fixed = FALSE, perl = TRUE))
    res <- grep("^w", myVector, perl = TRUE, value = TRUE)
    ...

> myVector
[[1]]
[1] "u"            "rtu"          "jgiyu"        "t6riuri-4e5-" "ee4"          "59"          
[7] "43"   

我的问题是,访问"u","rtu",...的正确语法是什么?

代码语言:javascript
复制
> myVector[1]
[[1]]
[1] "u"            "rtu"          "jgiyu"        "t6riuri-4e5-" "ee4"          "59"          
[7] "43"  

不起作用。什么会呢?[1]是怎么回事?我的印象是向量是一维的,它的元素可以像myVector1,myVector2等一样访问。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-01-22 07:41:30

strsplit返回一个列表。在本例中,它是一个长度为1的列表,但是如果对整个文件使用readLines,然后调用strsplit,它将返回一个长度与行数相同的列表。

对于您使用它的方式,您需要选择列表的第一个组件的第一个元素。即myVector[[1]][1]代表"u“,myVector[[1]][2]代表"rtu”。此外,在这种情况下,unlist(myVector)[1]unlist(myVector)[2]也可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21271293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档