如何自动加载数据列作为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
之类的东西)来轻松地仅执行某些列。
我有一个超过 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
之类的东西)来轻松地仅执行某些列。