R-将列值嵌套到向量的单个列(类型列表)中

R-将列值嵌套到向量的单个列(类型列表)中,r,dplyr,tidyverse,purrr,R,Dplyr,Tidyverse,Purrr,我尝试创建数据框中所有列的序列,如下所示: df <- data.frame(label = c("ger", "at", "uk", "us"), a = c(1,2,3,4), b = c(2,3,5,1), c = c(5,6,2,1)) label data <chr> <list>

我尝试创建数据框中所有列的序列,如下所示:

df <- data.frame(label = c("ger", "at", "uk", "us"),
           a = c(1,2,3,4),
           b = c(2,3,5,1),
           c = c(5,6,2,1))
  label data            
  <chr> <list>          
1 ger   <dbl [3]>
2 at    <dbl [3]>
3 uk    <dbl [3]>
4 us    <dbl [3]>
df%
嵌套(数据=c(a,b,c))

标签数据
1格
2在
3英国
4美国
我要的不是tibble,而是向量。应该是这样的:

df <- data.frame(label = c("ger", "at", "uk", "us"),
           a = c(1,2,3,4),
           b = c(2,3,5,1),
           c = c(5,6,2,1))
  label data            
  <chr> <list>          
1 ger   <dbl [3]>
2 at    <dbl [3]>
3 uk    <dbl [3]>
4 us    <dbl [3]>
标签数据
1格
2在
3英国
4美国

有人知道如何归档吗?

一个
dplyr
purrr
选项可以是:

df %>%
 transmute(label,
           data = pmap(across(-label), ~ c(...)))

  label    data
1   ger 1, 2, 5
2    at 2, 3, 6
3    uk 3, 5, 2
4    us 4, 1, 1
如果需要未命名的向量:

df %>%
 transmute(label,
           data = pmap(across(-label), ~ unname(c(...))))

我们可以从
dplyr

library(dplyr)
df %>%
    rowwise %>%
    transmute(label, data = list(c_across(a:c))) %>%
    ungroup
-输出

# A tibble: 4 x 2
#  label data     
#  <chr> <list>   
#1 ger   <dbl [3]>
#2 at    <dbl [3]>
#3 uk    <dbl [3]>
#4 us    <dbl [3]>
#一个tible:4 x 2
#标签数据
#      
#1格
#2在
#3英国
#4美国

也很接近,但仍然保留列表的名称。我想用
unname
会的。我如何在这里传递那个参数?它是一个命名向量,是的。你特别需要一个未命名的向量吗?最好,是:-)更新了帖子。对不起,你的也很好,但是akruns正是我想要的解决方案