r - 为列表中的每个数据框添加后缀?
问题描述
我有一个包含多个数据框的列表。我想为每个数据框的名称添加一个后缀,以便在调用该函数时
list2env()
并提取其名称之前添加了后缀的数据框。我怎样才能做到这一点?
样本数据
df1 <- as.data.frame(matrix(data = c(1,2,3)))
df2 <- as.data.frame(matrix(data = c(1,2,3)))
lst <- list(df1,df2)
解决方案
如果我们需要自动获取 a ,named
list
请在. 在下面的代码中,我们获取名称以 ( ) 开头的对象的值,子字符串 'df' 后跟一个或多个数字 ( ) 直到字符串的结尾 ( )。mget
pattern
ls
^
\\d+
$
lst1 <- mget(ls(pattern = '^df\\d+$'))
现在,如果我们list2env
在list
created 上使用,它将更新全局环境中的相同对象
list2env(lapply(lst1, transform, new = V1 + 3), .GlobalEnv)
如果我们需要创建新对象,只需更改名称lst1
names(lst1) <- paste0(names(lst1), "_2018")
list2env(lapply(lst1, transform, new = V1 + 3), .GlobalEnv)
推荐阅读
- r - 使用栅格计算农药的平均施用量和总施用量,但数字不相加
- asp.net-core - SelectList 不返回文本的值只返回 ID
- inno-setup - 我选择使用 Inno Setup 6.1.1 下载的文件是否必须在 [Files] 部分中?
- python - 按下时如何使网格中的图块改变颜色?
- javascript - mutationObserver 检查 textContent 是否更改
- python - 如何只得到整数而不四舍五入?
- flutter - 将字段从一个列表移动到另一个列表
- arrays - 在`O(j)`中打印元素?
- android - 房间 (SQL) 查询以获取按今天第一、明天第二和所有其他顺序排序的结果
- javascript - js中不能设置元素的href和src