1
因此,我有一個包含站點,年份和測量變量(比方說,x)的數據集。 x在一年中,多年以及多個地點被測量多次。這裏是我的數據集的一個例子(每個x都是在不同的日期收集的,由於我對年度方法感興趣,所以我簡單地提取了年份)。我們稱之爲數據集df:計算值意味着每個站點和每年在一個數據框中的年份R
>df
site year x
a 2000 10
a 2000 12
a 2000 13
b 2000 14
b 2000 15
b 2000 17
c 2000 9
c 2000 11
c 2000 11
a 2001 11
a 2001 12
a 2001 12
b 2001 13
...
它會持續多年。
我想提取每個特定地點和年份的x的均值。我寫了一個循環,但遇到了麻煩。我想返回一個包含網站,年份和x的平均值的數據框,但它似乎將df $ x中找到的所有變量的平均值作爲第一個值,然後爲其餘結果返回NaN。
這裏是我的代碼:
temp <- NULL;
mn.x <- NULL;
a <- NULL;
for(i in unique(df$site)) {
for (j in unique(df$year)) {
site <- i;
year <- j;
a <- data.frame(site, year);
temp <- mean(na.omit(df$x[df$site==i && df$year==j]))
site.year <- data.frame(a, temp)
mn.x <- rbind(temp, site.year)
}
}
只是要清楚...當我在R型mn.x返回結果是
>mn.x
[1] 10.4
[1] NaN
[1] NaN
[1] NaN
[1] NaN
...
,其中10.4是x的平均對於所有df $ x的值(aka均值(df $ x))
我的循環出了什麼問題?或者,因爲這是一個示例數據集,可能實際上我的數據集有問題?只是爲了澄清...類(DF $ x)是 「數字」
感謝您的任何想法,
保羅
另一個聚合問題似乎是:'聚合(x〜site + year,data = df,mean)' – thelatemail
來吧,保羅。真的下次嘗試做一些搜索。 SO中有太多的意思分組問題,至少有一個問題很難錯過。並學習差異btwn「&&」和「&」。 –
我想你的屁股交給你也是人們如何學習有時... – logicForPresident