在R中,n=n()是什么意思?

12

前几天我在阅读R语言中的以下代码行,但是我不理解%>%以及summarise(n=n())summarise(total=n())的含义。虽然我懂得group_byungroup方法。

可以有人帮忙吗?也没有相关文档资料可供参考。

library(dplyr)
net.multiplicity <- group_by(net, nodeid, epoch) %>% summarise(n=n()) %>%
                    ungroup() %>% group_by(n) %>% summarise(total=n())

3
有关n()的文档,请在控制台中键入?n()。它基本上是组内观察值的数量。 - David Arenburg
"%>%"是一种新的语法形式,允许使用管道,并且大致上使代码从左到右更易读/易写。有关更多详细信息,请参见此摘要 - Dan
%>% 也有文档。输入 ?"%>%"(由于特殊字符,需要加引号)即可查看。 - nico
如果您要执行?n()?"%>%",请确保首先加载了dplyrlibrary(dplyr),否则它将无法工作。 - John Paul
1个回答

17

这段文字来自于dplyr包。 n=n() 表示变量n将被赋值为所汇总数据的行数(也可以理解为观测数量)。

符号 %>% 读作"然后",是一种将函数按照顺序列出而非嵌套使用的方式。所以这个命令表示您应该对数据进行分组,然后通过每个组中的行数进行汇总,并ungroup结果,然后根据n重新对未分组数据进行分组,最后再根据新的组中的所有行数进行summarize


我们甚至需要取消分组吗?我们只需根据n对已分组的数据进行分组,而不是对未分组的数据进行分组,不是吗? - Kashif
@Glassjawed 我认为你是正确的。您可以使用一个额外的参数 add,默认情况下为 FALSE,但当 TRUE 时,它会添加到现有组中而不是覆盖它们。 - John Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接