R 如何修改可以';你不能直接打电话吗?

R 如何修改可以';你不能直接打电话吗?,r,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"

我正在创建一个函数来自动生成多个数据帧。我如何调用这些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]))

get(粘贴(粘贴0(“d”、“f”))[1]))[1]最好不要在全局环境中创建多个对象。如果已创建,请将其加载到
列表中
,并在
列表中执行所有更改/转换/变异等操作。在
列表
中读/写比在全局环境中查找这些浮动对象更容易

lapply(mget(paste0("df", 1:3)), function(x) {x[[1]] <- 4; x})

lappy(mget(paste0(“df”,1:3)),函数(x){x[[1]]最好不要在全局环境中创建多个对象。如果已经创建了多个对象,请将它们加载到
列表中,并在
列表中执行所有更改/转换/变异等操作。这样,在
列表中读/写比在全局环境中查找这些浮动的对象更容易

lapply(mget(paste0("df", 1:3)), function(x) {x[[1]] <- 4; x})

lappy(mget(paste0(“df”,1:3)),函数(x){x[[1]]你能再解释一下你想在更大范围内完成什么吗?我强烈建议你重新编写你的代码,不要依赖它。通常只使用命名列表可以节省你很多代码/精力。更大的范围是,我有一个包含多个工作表的excel工作表,我正在尝试创建一个t自动将每个工作表作为单独的data.frame导入,并根据工作表名称对其进行重命名,添加一列,指定行来自哪个工作表,然后合并所有这些数据帧。您能否解释一下您试图在更大范围内完成的工作?这感觉像是一个错误,我强烈建议您不要重新编写代码依赖。通常,仅使用命名列表将为您节省大量代码/工作量。更重要的是,我有一个包含多个工作表的excel工作表,我正在尝试创建一个函数,自动将每个工作表作为单独的数据导入。frame并根据工作表名称重命名工作表,添加一列指定行来自哪个工作表,然后然后合并所有的数据帧。我想是这样的。谢谢!我想是这样的。谢谢!