我有一个包含列表的列的数据框。我希望变异为包含每个列表长度的每一行创建一个新值,但是我很难做到这一点
我试过
df <- data.frame(a=1:3,b=I(list(1,1:2,1:3)))
df %>% mutate(len = length(b))
但这只是将len设置为数据帧中的行数(每行的len值为3)。任何帮助将不胜感激!
答案 0 :(得分:1)
想出来,使用
df %>% mutate(len = lengths(b))
答案 1 :(得分:0)
我们可以unnest
创建新列
library(tidyverse)
df %>%
unnest %>%
group_by(a) %>%
mutate(c = n())