r - 如何从 R 列表中的数据框名称中提取数字?
问题描述
我有一个名为 list.data 的列表,其中包含 600 多个数据框。每个数据框都有一个唯一的名称,例如 4dMU6_20080605tp.txt,名称中是一个日期“20080605”,我想提取并添加到每个数据框的新列中。
我已经在每个数据框中创建了新列,列标题为“日期”,但现在需要从多个数据框名称中提取数字 - 知道我该怎么做吗?
我已经尝试过 sapply 但大概它不起作用,因为它正在搜索与数据框名称相反的数据框。
sapply(list.data, function(x){as.numeric(x[8])})
任何帮助将不胜感激!
解决方案
使用lapply
,我们可以Date
为列表中的每个数据框添加新列,用于gsub
从每个列表元素的名称中获取日期。
lst_names <- names(list.data)
list.data <- lapply(lst_names, function(x) {
list.data[[x]]$Date <- gsub("^.*_|[A-Za-z]*\\.\\w+$", "", x)
return(list.data[[x]])
})
names(list.data) <- lst_names
推荐阅读
- cucumber - 黄瓜中的绑定变量
- django - Django - 我可以从数据库中运行代码吗?
- ios - 致命错误:浮点值无法转换为 Int,因为它要么是无限的要么是 NaN
- node.js - 带有打字稿的节点:TS1123:变量声明列表不能为空
- performance - 如何在颤动中有效地将小部件列表传递到列表视图中?
- swift - 如何使用工具栏中的搜索项?
- opengl - OpenGL顶点属性指针奇怪的行为
- dynamics-crm - 映射记录 GUID 时出现 MS CRM 数据导入问题
- reactjs - 将钩子作为道具传递后的无限循环
- html - 如何使线夹在 ipad safari 上工作?