r - 如何修改无法直接调用的数据框?
问题描述
我正在自动为这几个数据框创建一个函数。我怎样才能调用这些 data.frames 来改变它们?
例如,假设我创建了一个数据,其中每个项目都意味着成为一个数据框,如下所示:
assign(paste0("d","f"),c(tree,fox,river))
然后我从列表中取出一个项目并用它来命名一个数据框。
assign(paste(get(paste0("d","f"))[1]),as.data.frame(c(1,2,3))
所以现在如果我这样做:
get(paste(get(paste0("d","f"))[1]))
它返回一个带有 1,2,3 的数据框
这是我的问题,我希望能够修改这些项目,例如
get(paste(get(paste0("d","f"))[1]))[1] <- 4
#So that now if i do
get(paste(get(paste0("d","f"))[1]))
它返回一个带有 4,2,3 的数据框
解决方案
最好不要在全局环境中创建多个对象。如果它已经创建,请将它们加载到 alist
中并在list
. 它会使读/写更容易,list
而不是在全局环境中寻找这些漂浮的对象
lapply(mget(paste0("df", 1:3)), function(x) {x[[1]] <- 4; x})
推荐阅读
- excel - 有没有其他方法可以解析带有不规则表格的 Excel 文件?
- javascript - 如何通过 jQuery 的 $.ajax() 函数在 php 中传递数据值?
- c++ - 从二进制文件加载列表后,我的代码似乎进入了无限循环
- azure - 如何从 Azure 策略调用 REST 函数
- android - 如何从 JSON 文件添加图像 URL
- .net - 指定的deps.json [path\App.Web.Site\App.Web.deps.json] 不存在
- arguments - 在 shell 脚本中激活 conda 环境时如何传递命令行参数
- python - 如何通过 SQLalchemy 获取数据库中的总行数?
- python - 警告使用 `.loc[]` 当它已经被使用时
- python - 如何在数据框中添加一列以对行求和