Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何计算分组行数/观察数?_R - Fatal编程技术网

R 如何计算分组行数/观察数?

R 如何计算分组行数/观察数?,r,R,如何计算分组行数/观察数 我知道这应该是一个简单的问题,但我很难弄明白 我使用的是flights数据框,它有年、月、日和单独的航班 我想总结/计算每天的航班数量。 我试过的 flights %>% group_by(year, month, day, flight) %>% summarize(n()) 这给出了每次航班的编号 special_days2 <- flights %>% group_by(year, month, day) %&g

如何计算分组行数/观察数

我知道这应该是一个简单的问题,但我很难弄明白

我使用的是
flights
数据框,它有年、月、日和单独的航班

我想总结/计算每天的航班数量。

我试过的

flights %>% 
    group_by(year, month, day, flight) %>%
    summarize(n())
这给出了每次航班的编号

special_days2 <- flights %>%
    group_by(year, month, day) %>% 
    count(flight)
这确实给了我每天的计数,但它并不特定于航班列。所以我不得不假设每天的行数与每天的航班数相对应

使用按其他列分组的航班列,难道没有其他方法可以问我自己“每天有多少航班?”?当我尝试使用nrows()计算行数时

special_days3 <- flights %>%
      group_by(year, month, day) %>% 
      nrow(flight)
特殊日3%
分组单位(年、月、日)%>%
nrow(航班)
^这给了我一个错误

特殊日3%
分组依据(年、月、日、航班)%>%
nrow()
只是给了我总行数?我感到困惑,因为nrow似乎是正确的命令,因为它计算行数,但它不起作用

谢谢你的指导


同样关于使用summary、count和n()的主题 我的理解是summary()包含select函数。你怎么知道这些函数是什么?我知道它们是统计函数和n(),但除此之外呢


相反,一些函数必须由summary封装,如n()。还有其他的吗

我试图解释为什么每次尝试都会得到输出:

flights %>% group_by(year, month, day, flight) %>% summarize(n())
在这里,您可以按
(到目前为止还不错)
航班
航班
是唯一的,这就是您获得“每次航班的编号”的原因)

或者更好:

flights %>% group_by(year, month, day) %>% summarize(N = n())


提供您想要的内容,即您的假设“每天的行数将对应于每天的航班数”是正确的。

好的,非常感谢。因此,我必须做出这样的假设,并确保这种假设在这些情况下是正确的。很高兴知道。我想这就是为什么从整体上理解数据集很重要,并考虑如何处理NA值(如果它们存在的话)。我只是想想出一些例外情况,当这种假设太容易做出时,可能是危险的。非常感谢。您必须始终知道数据代表什么!在大多数情况下,行指的是唯一的观察结果,但也有很多例外。
flights %>% group_by(year, month, day, flight) %>% summarize(n())
special_days2 <- flights %>% group_by(year, month, day) %>% count(flight)
flights %>% group_by(year, month, day) %>% summarize(n())
flights %>% group_by(year, month, day) %>% summarize(N = n())
flights %>% group_by(year, month, day) %>% count()