如何在r中自动加载数据列作为变量

  • 本文关键字:数据 变量 加载 r
  • 更新时间 :
  • 英文 :


我有一个数据集,其中有超过100个变量/列标题,我想把所有的变量加载到R.我可以加载数据集在fine,但我发现它繁琐的每一列转换为:

var1 <- df$col1 
var2 <- df$col2 
...

一直到var100 <- df$col100。我怎样才能快速地把这些列变成变量?

说明如何仅使某些列快速变为变量,例如第5列到第85列。

我知道我也应该发布一个可用的数据框架或一个人回答下载和操纵的东西,但我不知道如何让我的数据框架在R进入我的StackOverflow问题,所以我只有一个例子5x5网格图像的数据在excel中提供。同样,这是一个比图片显示的大得多的数据集。

示例数据

您也可以使用assign():

dat <- data.frame(
var1 = rnorm(10), 
var2 = rnorm(10), 
var3 = rnorm(10), 
var4 = rnorm(10), 
var5 = rnorm(10)
)
for(i in 1:ncol(dat)){
assign(paste0("var", i), dat[[paste0("var", i)]])
}
var1
#>  [1] -0.98086606  0.40048599  1.19099096  1.03191817 -1.06956025 -0.03919399
#>  [7]  1.32809944  1.05396682  0.07826412  1.00137558
var2
#>  [1] -0.37338283  0.48710182  0.80729920  0.98664978  0.06286747  2.77966983
#>  [7] -0.08503804 -0.17249172  0.88482571 -0.83201587

由reprex包(v2.0.1)创建于2022-06-03

这也使得通过改变循环操作的数字(例如,1:ncol(dat)可以是c(1,3,7,12)5:85)只处理某些列变得容易。