[英]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
作為變量排除在外。 但同時,每個國家的總頻率應該是相加的,而不是分別為Gold
、 Silver
和Bronze
。
換句話說,我試圖顯示每個國家的獎牌總數,但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
你可以用table
和colSums
在 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.