我想在下面的示例数据集中创建第五列,其中每行包含列 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))
两个选项:
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()