【问题标题】:How to access first element of a list of elements after strsplit?如何在strsplit之后访问元素列表的第一个元素?
【发布时间】:2021-05-20 18:18:11
【问题描述】:

我有一个运行后保存为列表的文件列表 files <- list.files(pattern=".txt")

因此,当我运行 files 时,我会得到以下内容:

AA1131.report.txt
BB1132.reprot.txt
CC0900.report.txt
.
.
.

我只想在.report.txt 之前获取文件名的第一部分,所以在 R 中我尝试了:

>files <- list.files(pattern=".txt")
>files <- strsplit(files, "\\.")
>files[[1]][1]
[1] "AA1131"

我期待:

[1] "AA1131"
[1] "BB1132"
[1] "CC0900"

或者以某种方式获取它们并将它们保存为列表,以便我可以在第一列的 tibble 中将它们用作 ID 行名称。

【问题讨论】:

    标签: r strsplit


    【解决方案1】:

    我们需要遍历list(来自strsplit)并提取第一个元素

    sapply(files, `[[`, 1)
    

    files[[1]] 仅提取第一个 list 元素


    此外,这可以在没有strsplit 的情况下完成

    trimws(files, whitespace = "\\..*")
    

    sub

    sub("\\..*", "", files)
    

    【讨论】:

    • 是的!这两个都奏效了!很干净,我实际上忘记了 sapply (自从我使用 R 以来一直存在)。谢谢!
    • 通常我有一个时间限制,所以我一定是忘记了——我很抱歉。
    猜你喜欢
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多