首页 > 解决方案 > 将 2x3 df 转换为向量

问题描述

我有一个像这样的df:

tibble::tribble(
  ~names, ~values,
    "aa",       1,
    "bb",       2,
    "cc",       3
  )

我希望它转换成一个向量,如下所示:

vector <- c(`aa` = 1, `bb` = 2, `cc` = 3)

如何在中执行此操作tidyverse

标签: rdplyrtidyverse

解决方案


我们可以用deframe

library(tibble)
v1 <- deframe(tbl1)
v1
#  aa bb cc 
#  1  2  3 


identical(v1, vector)
#[1] TRUE

base RsetNames

setNames(tbl1$values, tbl1$names)

数据

tbl1 <- tibble::tribble(
 ~names, ~values,
  "aa",       1,
  "bb",       2,
  "cc",       3
   )

推荐阅读