如何找到每组的算术平均值

时间:2017-05-03 04:25:48

标签: r mean

unemp <- read_excel("/Users/wathiq/Downloads/laucntycur14.xlsx")
sub.unemp <- subset(unemp,select = c(State,countyState,Unemployment))
fl.unemp = sub.unemp[sub.unemp[,1]=="12",]
unique(fl.unemp$countyState)
fl.unemp2 <- subset(fl.unemp, select = c(countyState,Unemployment))
attach(fl.unemp)
fl.sort2 <- fl.unemp2[order(countyState), ]

所以,我有一个数据帧       有佛罗里达州每个县的失业率,我想找到每个县的平均失业率。我该怎么做?

为了给你一个想法,fl.sort2是一个包含2列的数据框,该县的名称和失业率。我按字母顺序排序

County                ..................Unemployment
Alachua County, FL    4.3
Alachua County, FL    3.0
Alachua County, FL    2.3
Baker County, FL      4.5
Baker County, FL      4.1

我如何找到每个县的平均失业率?

1 个答案:

答案 0 :(得分:1)

有很多选择。他们都给出了相同的结果。

首先

avg.unemp <- tapply(fl.sort2$Unemployment, fl.sort2$countyState, mean, na.rm=T)
avg.unemp

第二

avg.unemp<- aggregate(Unemployment~countyState, data = fl.sort2, mean, na.rm=T)
avg.unemp

第三

library(data.table)
setDT(fl.sort2)
fl.sort2[,avg.unemp:= mean(Unemployment, na.rm=T), by=countyState]
fl.sort2 # result should be in 3rd column named "avg.unemp"

如果您没有NA,请随意跳过na.rm=T部分。