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

R Loop to calculate mean for each of two variables

我有一个数据集 (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 argument In addition: Warning messages: 1: In 1:df$City: numerical expression has 10383 elements: only the first used 2: In 1:df$City: NAs introduced by coercion"

样本数据:

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,那么您可以估计每个 City/House 组合的平均值:

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

您可以按如下方式使用基数 R :

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