将列名设为变量名,并将列的值赋给该变量

Make column name the variable name and assign the value of the column to that variable

让我们采取以下DF

> df <- data.frame(var1=5,var2=6,var3=7)
> df
  var1 var2 var3
1    5    6    7
> 

我现在想自动将三个变量 "created" 添加到全局环境中,并添加它们各自的值,如下所示:

var1 <- 5
var2 <- 6
var3 <- 7

我该怎么做?

提前谢谢你。 安德烈

首先,您应该问自己是否除了分配全局变量之外别无他法,请参阅 Why is using assign bad? 了解有关该主题的一些讨论。 如果你真的想那样做,你可以做

for(i in 1:ncol(df)){
    assign(colnames(df)[i], df[,i])
}

但是,我鼓励您找到与分配变量不同的解决方案。