从数据框调用变量,该变量的名称存储为字符

时间:2019-06-20 11:20:14

标签: r

因此,基本上,我使用的是For循环,该循环在存储在矢量(伙伴)中的名称之间循环,并以包含特定数据的数据帧形式返回名称。代码是这样的

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

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

    i$Volume <- #manipulation
}

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

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

1 个答案:

答案 0 :(得分:2)

根据您的描述,我相信这会起作用

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)