我有一个数据集(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)