R循环计算两个变量的平均值



我有一个数据集(df),我需要计算每个城市和房屋的平均计数。

我想/我需要使用一个循环。但是,我并不精通。

我有这样的东西:

for (i in 1:df$City) { 
for (j in 1:df$House) {
mean_count[i] <- mean(df$Count)
}
}

但这不起作用。我对循环很陌生,所以我不知道哪里出了问题。错误信息是

"Error in 1:df$City: NA/NaN参数在1:df$City:数字表达式有10383个元素:只有第一次使用2:在1:df$City: NAs中引入了强制字符">

示例数据:

City   House Count
Poz     1    7
Wre     4    8
KRK     4    5
Poz     2    13
KRK     3    7
Poz     4    45
Wre     8    15
Lub     8    9

通常情况下,对此不需要循环。如果你的数据是dt,那么你可以这样估计每个城市/房屋组合的平均值:

library(dplyr)
dt %>%
group_by(City,House) %>%
summarize(mean_count = mean(Count,na.rm=T))

base R的用法如下:

aggregate(df$Count , by = list( city = df$City , house = df$House) , mean)

最新更新