r - 如何在strsplit之后访问元素列表的第一个元素?
问题描述
运行后我有一个保存为列表的文件列表
files <- list.files(pattern=".txt")
所以当我跑步时,files
我有以下内容:
AA1131.report.txt
BB1132.reprot.txt
CC0900.report.txt
.
.
.
.report.txt
我想在 RI中的 so 尝试之前获取文件名的第一部分:
>files <- list.files(pattern=".txt")
>files <- strsplit(files, "\\.")
>files[[1]][1]
[1] "AA1131"
我期待:
[1] "AA1131"
[1] "BB1132"
[1] "CC0900"
或者以某种方式获取它们并将它们保存为列表,以便我可以将它们用作第一列的 tibble 中的 ID 行名称。
解决方案
我们需要遍历list
(from strsplit
) 并提取第一个元素
sapply(files, `[[`, 1)
files[[1]]
仅提取第一个list
元素
此外,这可以在没有strsplit
trimws(files, whitespace = "\\..*")
或与sub
sub("\\..*", "", files)
推荐阅读
- python - “资源耗尽:分配张量时的 OOM”在 GPT 2 模型的重新训练期间:
- python - 如何从键列表和列表值快速构建 python 字典?
- python - 在 Python 3.6+ 中,将浮点 9.9 打印为字符串 09.90 和将 10 打印为 10.00 的 f 字符串是什么?
- php - 搜索中的 Laratable 模棱两可的列
- php - 在 PHP 中用指向同一域的链接替换纯文本
- python - 如何生成具有 N 行和 N 列的数组,每个元素都是 2 行单列零矩阵?
- prolog - 是否可以延迟分配操作
- uwp-xaml - 是否有任何捷径/捷径可以从 xaml 代码创建样式资源?
- html - CSS left 属性值不适用于不同的窗口大小?
- java - 使用java 8将列表转换为地图