使列名称为变量名称,并将列的值分配给该变量

时间:2016-10-18 09:57:37

标签: r variables assign names

让我们采取以下DF

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

我现在希望自动将三个变量“创建”并添加到具有各自值的全局环境中,如下所示:

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

我该怎么做?

提前谢谢你。 安德烈

1 个答案:

答案 0 :(得分:1)

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

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

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