首页 > 解决方案 > 从数据框中调用变量,其名称存储为字符

问题描述

所以基本上我使用的是一个 For 循环,它在存储在向量(合作伙伴)中的名称之间循环,并将名称作为包含特定数据的数据帧返回。代码是这样的

for (i in partners) {
     #Code that returns the names as data frames 

对于for循环中的下一条语句,我需要操作数据框中的变量,所以我需要类似的东西

    i$Volume <- #manipulation
}

#i[, "Volume"] is also not working

如何调用数据框和其中的特定变量?

标签: r

解决方案


根据您的描述,我相信这会奏效

for (i in partners){
  df <- get(i)
  df$Volume <- identity(df$Volume) # or something
  assign(i, df)
} 

我还应该添加一条评论,如果您将数据框放入列表中,这可能会更容易管理,并将函数应用于数据框。例如,您可以使用 将所有数据框放入列表中mget(partners)

dframes <- mget(partners)

manip_fun <- function(df){
  df$Volume <- identity(df$Volume)
  df
}

lapply(dframes, manip_fun)

推荐阅读