我有一个父数据集,它嵌套了多个数据集(即每个单元格都是一个tibble的tibble),我想要每个数据集,找到每个组的行数。使用单个数据集的标准方法就是group_by(var) %>% mutate(nrow=n())
。
但是现在我对多个map()
调用的数据集执行此操作,看起来n()
调用是指map()
进行的(隐式)分组,而不是显式分组在我group_by
的本地数据集中?
单个数据集的标准方式,n()
返回50:
iris %>%
group_by(., Species) %>%
mutate(nrow=n())
数据集数据集:
df <- data_frame(name=c("a", "b"), Data=list(iris, iris))
df2 <- df %>%
mutate(Data2=map(Data, ~group_by(., Species) %>%
mutate(nrow=n()) %>%
ungroup()))
但现在n()
返回了2?
df2[1,]$Data2[[1]]
答案 0 :(得分:2)
如果您在checkBox1.AutoSize = false;
checkBox1.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
checkBox1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
之外定义函数,它可以正常工作(我假设这个输出就是你想到的......)
mutate
答案 1 :(得分:0)
自版本0.7.0
以来可用的另一个选项是使用add_count()
,它不会与map()
冲突,并且无论如何都会简化代码:
# standard case:
iris %>%
add_count(Species)
## df of df:
df2 <- df %>%
mutate(Data2=map(Data, ~add_count(., Species)))