簡體   English   中英

如何獲得基於兩列的頻率計數總和?

[英]How do I get the sum of frequency count based on two columns?

假設數據幀存儲為someData ,並采用以下格式:

ID                Team                Games                Medal
1                 Australia           1992 Summer          NA
2                 Australia           1994 Summer          Gold
3                 Australia           1992 Summer          Silver
4                 United States       1991 Winter          Gold
5                 United States       1992 Summer          Bronze
6                 Singapore           1991 Summer          NA

我將如何根據團隊計算獎牌的頻率 - 同時將NA作為變量排除在外。 但同時,每個國家的總頻率應該是相加的,而不是分別為GoldSilverBronze

換句話說,我試圖顯示每個國家的獎牌總數,但NA除外。

我試過這樣的事情:

library(plyr)
counts <- ddply(olympics, .(olympics$Team, olympics$Medal), nrow)
names(counts) <- c("Country", "Medal", "Freq")
counts

但這只是給了我一個巨大的表格,列出了每個國家的每枚獎牌,包括北美。

我想做的是以下內容:

Australia            2
United States        2

任何幫助將不勝感激。

謝謝!

我們可以使用count

library(dplyr)
df1 %>% 
  filter(!is.na(Medal)) %>%
  count(Team)
# A tibble: 2 x 2
#  Team              n
#  <fct>         <int>
#1 Australia         2
#2 United States     2

你可以用tablecolSums在 base R 中做到這colSums

colSums(table(someData$Medal, someData$Team))
    Australia     Singapore United States 
            2             0             2

數據

someData = read.table(text="ID        Team        Games         Medal
1                 Australia           '1992 Summer'          NA
2                 Australia           '1994 Summer'          Gold
3                 Australia           '1992 Summer'          Silver
4                 'United States'     '1991 Winter'          Gold
5                 'United States'     '1992 Summer'          Bronze
6                 Singapore           '1991 Summer'          NA",
header=TRUE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM