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

How to load in columns of data automatically as variables in r

我有一个超过 100 个 variables/column headers 的数据集,我想将它们全部作为变量加载到 R 中。我可以很好地加载数据集,但我觉得这很乏味必须将每一列转换为:

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

一直到 var100 <- df$col100。如何快速将所有这些列都变成变量?

关于如何仅将某些列快速转换为变量的加分项,例如第 5 列到第 85 列。

我知道我还应该 post 一个可用的数据框或其他供回答下载和操作的人使用的东西,但我不知道如何将 R 中的数据框放入我的 Whosebug 问题中,所以我只提供 excel 中数据的示例 5x5 网格图像。同样,这是一个比图像显示的数据集大得多的数据集。

Sample Data

你也可以用 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 package (v2.0.1)

于 2022-06-03 创建

这也使得通过更改循环操作的数字(例如,1:ncol(dat) 可以是 c(1,3,7,12)5:85 之类的东西)来轻松地仅执行某些列。