使用列表中的字符串在 R 中选择一列

Dav*_*teo 6 r dataframe

我有一个变量名称列表,我想使用列表中的字符串来访问数据框中的列

list<-list("Var1", "Var2", "Var3")
df1 <- data.frame("Var1" = 1:2, "Var2" = c(21,15), "Var3" = c(10,9))
df2<- data.frame("Var1" = 1, "Var2" = 16, "Var3" = 8)
Run Code Online (Sandbox Code Playgroud)

我有 2 个不均匀的数据框,我想通过做一些基本的数学运算来创建一个新列

df1$Var4<-df1$Var1 + df2$Var1

Var4
2
3
Run Code Online (Sandbox Code Playgroud)

但是我希望能够通过参考我拥有的变量名称列表来调用我添加在一起的列名称,我已经尝试了以下两段代码,但都没有奏效

df1$Var4<- df1$List[1]+df1$list[1]

and 

Z<-list[1]
df1$Var4 <- df1$Z + df2$Z
Run Code Online (Sandbox Code Playgroud)

我不想对列名进行硬编码,因为这将创建一个用于跨数据框使用的函数,其中变量名将发生变化

任何帮助将非常感激

Duc*_*uck 7

尝试这个:

list<-list("Var1", "Var2", "Var3")
df1 <- data.frame("Var1" = 1:2, "Var2" = c(21,15), "Var3" = c(10,9))
df2<- data.frame("Var1" = 1, "Var2" = 16, "Var3" = 8)
#Sum
df1$Var4<- df1[,list[[1]]]+df2[,list[[1]]]

  Var1 Var2 Var3 Var4
1    1   21   10    2
2    2   15    9    3
Run Code Online (Sandbox Code Playgroud)