我有一个数据集,其中有超过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
)只处理某些列变得容易。