gpt4 book ai didi

r - 使用dplyr创建命名向量

转载 作者:行者123 更新时间:2023-12-04 17:15:30 25 4
gpt4 key购买 nike

我正在尝试找到一种使用管道从数据帧中的两列(值之一,名称之一)创建命名向量的方法。到目前为止,我有以下内容(使用mtcars作为示例数据)...

library(tidyverse)

x <- mtcars %>%
rownames_to_column("car") %>%
select(car, mpg)
pull(mpg)

names(x) <- row.names(mtcars)

x
# Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout
# 21.0 21.0 22.8 21.4 18.7
# Valiant Duster 360 Merc 240D Merc 230 Merc 280
# 18.1 14.3 24.4 22.8 19.2
# Merc 280C Merc 450SE Merc 450SL Merc 450SLC Cadillac Fleetwood
# 17.8 16.4 17.3 15.2 10.4
# Lincoln Continental Chrysler Imperial Fiat 128 Honda Civic Toyota Corolla
# 10.4 14.7 32.4 30.4 33.9
# Toyota Corona Dodge Challenger AMC Javelin Camaro Z28 Pontiac Firebird
# 21.5 15.5 15.2 13.3 19.2
# Fiat X1-9 Porsche 914-2 Lotus Europa Ford Pantera L Ferrari Dino
# 27.3 26.0 30.4 15.8 19.7
# Maserati Bora Volvo 142E
# 15.0 21.4

对于我的实际数据,这不是很方便,因为我想避免保存转换后的数据框的副本,以仅将名称列用于 name函数。

最佳答案

tibble 1.3.0(2017-04-02)开始,您可以使用tibble::deframe():

library(tidyverse)

mtcars %>%
rownames_to_column("car") %>%
select(car, mpg) %>%
deframe()
          Mazda RX4       Mazda RX4 Wag          Datsun 710 
21,0 21,0 22,8
Hornet 4 Drive Hornet Sportabout Valiant
21,4 18,7 18,1
Duster 360 Merc 240D Merc 230
14,3 24,4 22,8
Merc 280 Merc 280C Merc 450SE
19,2 17,8 16,4
Merc 450SL Merc 450SLC Cadillac Fleetwood
17,3 15,2 10,4
Lincoln Continental Chrysler Imperial Fiat 128
10,4 14,7 32,4
Honda Civic Toyota Corolla Toyota Corona
30,4 33,9 21,5
Dodge Challenger AMC Javelin Camaro Z28
15,5 15,2 13,3
Pontiac Firebird Fiat X1-9 Porsche 914-2
19,2 27,3 26,0
Lotus Europa Ford Pantera L Ferrari Dino
30,4 15,8 19,7
Maserati Bora Volvo 142E
15,0 21,4

关于r - 使用dplyr创建命名向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49335584/

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