You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用dplyr管道从数据框两列创建命名向量?

用管道全程创建命名向量的方法

嘿,我懂你想全程用管道(pipe)完成从数据框两列生成命名向量的需求,不用中途跳出管道手动赋值名称对吧?这里有两种简洁的tidyverse风格方法可以实现:

方法1:使用deframe()函数

deframe()是tidyverse里专门用来将两列数据框转为命名向量的函数,第一列会作为向量的名称,第二列作为对应的值,完全贴合你的场景:

library(tidyverse)

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

# 查看结果
x

方法2:用pull()的name参数

如果你更习惯用pull(),可以直接在pull()里指定name参数来设置向量名称,一步到位:

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

# 查看结果
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

这样就完美实现全程用管道操作,不用额外的赋值步骤啦~

内容的提问来源于stack exchange,提问作者guyabel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:21:40