如何创建一个由多个单独的列条目组成的列表的数据框列?

问题描述 投票:0回答:1

我想在下面的示例数据集中创建第五列,其中每行包含列 2:4 的列表。第一行的所需输出为 c(20,40,14),第二行的所需输出为 c(13,13,0)。

我当前的尝试(如下面的可重现示例所示)产生错误“in

mutate()
: ℹ 在争论中:
list_column = list(fastballs, sliders, curves)
。 错误原因: !
list_column
尺寸必须为 2 或 1,而不是 3。

感谢所有帮助。

library(tidyverse)

df <- data.frame(name = c('Bob','AJ'),
                fastballs = c(20,13),
                sliders = c(40,13),
                curves = c(14,0)) %>% 
mutate(list_column = list(fastballs,sliders,curves))
r dataframe list dplyr mutate
1个回答
0
投票

两个选项:

library(purrr)
library(dplyr)

df |>
  mutate(list_column  = pmap(pick(fastballs:curves), c)) 

或:

df |>
  rowwise() |>
  mutate(list_column = list(c(c_across(fastballs:curves)))) |>
  ungroup()
© www.soinside.com 2019 - 2024. All rights reserved.