将列名设为变量名,并将列的值赋给该变量
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])
}
但是,我鼓励您找到与分配变量不同的解决方案。
让我们采取以下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])
}
但是,我鼓励您找到与分配变量不同的解决方案。