[英]How do I count the number of grouped rows/observations?
如何計算分組行/觀察的數量?
我知道這應該是一個簡單的問題,但我很難弄清楚。
我正在使用具有年、月、日和個別航班的flights
dataframe。
我想總結/計算每天的航班數量。
什么'我試過......
flights %>%
group_by(year, month, day, flight) %>%
summarize(n())
這給出了每個航班的數量
special_days2 <- flights %>%
group_by(year, month, day) %>%
count(flight)
這給了我與使用summarize(n())
相同的功能。 但我很困惑。 我按年、月、日和使用的航班計數分組,所以它計算航班內唯一觀察的數量,對嗎?
有沒有辦法計算按年、月、日分組的航班數量?
flights %>%
group_by(year, month, day) %>%
summarize(n())
這確實給了我每天的計數,但它並不特定於航班列。 所以我不得不假設每天的行數與每天的航班數相對應。
有沒有其他方法可以問自己“每天有多少航班”這個問題? 使用按其他列分組的航班列? 當我嘗試使用 nrows() 來計算行數時,
special_days3 <- flights %>%
group_by(year, month, day) %>%
nrow(flight)
^ 這給了我一個錯誤,
和
special_days3 <- flights %>%
group_by(year, month, day, flight) %>%
nrow()
剛剛給了我總行數? 我很困惑,因為 nrow 似乎是正確的命令,因為它計算行數但它不起作用。
感謝您的指導!
同樣關於使用 summarise、count 和 n() 我的理解是,summarize() 包含 select 函數。 你怎么知道這些是哪些功能? 我知道它們是統計函數和 n(),但除此之外呢?
相反,某些函數必須由summary 提供,例如n()。 還有其他人嗎?
我試圖解釋為什么你每次嘗試都會得到 output:
flights %>% group_by(year, month, day, flight) %>% summarize(n())
在這里,您按year
、 month
、 day
(到目前為止一切順利)和flight
( flight
是獨一無二的,這就是為什么您會得到“每個航班的數量”)分組
special_days2 <- flights %>% group_by(year, month, day) %>% count(flight)
在這里,您按year
、 month
、 day
分組(同樣,到目前為止一切都很好),然后您計算唯一的flight
的唯一值,因此您得到與上面相同的 output
flights %>% group_by(year, month, day) %>% summarize(n())
甚至更好:
flights %>% group_by(year, month, day) %>% summarize(N = n())
或者
flights %>% group_by(year, month, day) %>% count()
為您提供您想要的,即您的假設“每天的行數將對應於每天的航班數”是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.