gpt4 book ai didi

r - 如何从 R 中的数据框中选择和重命名一长串列?

转载 作者:行者123 更新时间:2023-12-04 16:51:49 25 4
gpt4 key购买 nike

我有一个包含很多列的数据集,我必须选择其中的一部分并重命名它们以偶尔进行分析。目前我使用 select来自包裹 dplyr .但是对于很多属性,每次都进行设置很复杂。有没有更好的方法来做到这一点?

比如我使用的数据集mtcars

> head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

我想选择列: mpg , cyl ,并将它们重命名为 x , y
目前我使用:
> df <- mtcars %>% select(x=mpg, y=cyl)
> head(df)
x y
Mazda RX4 21.0 6
Mazda RX4 Wag 21.0 6
Datsun 710 22.8 4
Hornet 4 Drive 21.4 6
Hornet Sportabout 18.7 8
Valiant 18.1 6

可以用,但是经常修改括号里的参数就麻烦了。我希望使用列表来解决问题,但它不起作用。

例如,我希望创建一个属性列表以使其简单:
myselection <- c(
x = mpg,
y = cyl
)

df <- mtcars %>% select(myselection) # It is wrong!

但这是错误的,我怎样才能使它工作?

最佳答案

你想要非标准评估(技术上来说,这是标准评估,正常的 dplyr 使用是 NSE),见 vignette("nse") :

library(dplyr)

dots <- list(x="mpg", y="cyl")
select_(mtcars, .dots = dots)

关于r - 如何从 R 中的数据框中选择和重命名一长串列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33917660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com