我有我的矩陣每日數據,分爲6列 - 「年,月,日,ssts,anoms,失蹤」。根據每日數據計算的月份平均數
我想要計算每年SST每個月的平均水平。 (例如 - 1981年 - 9月 - 平均值爲9月份所有日子的平均值),而且我想在所有年份都這樣做。我正在努力工作,我的代碼,但無法這樣做。
我有我的矩陣每日數據,分爲6列 - 「年,月,日,ssts,anoms,失蹤」。根據每日數據計算的月份平均數
我想要計算每年SST每個月的平均水平。 (例如 - 1981年 - 9月 - 平均值爲9月份所有日子的平均值),而且我想在所有年份都這樣做。我正在努力工作,我的代碼,但無法這樣做。
你應該R.使用dplyr
包對於這一點,我們會打電話給你的數據df
require(dplyr)
df.mnths <- df %>%
group_by(Years, months) %>%
summarise(Mean.SST = mean(SSTs))
df.years <- df %>%
group_by(Years) %>%
summarise(Mean.SST = mean(SSTs))
這是兩個新的數據集,將有mean(SST)
每年的每個月df.mnths
,和另一數據集將在df.years
的所有年份中有mean(SST)
。
在data.table
條款,您可以執行以下操作
library(data.table)
dt[, average_sst := mean(SSTs), by = .(years,months)]
添加一個額外的列average_sst
。
只是假設您的數據存儲在一個名爲「數據」 data.frame:
years months SSTs
1 1981 1 -0.46939368
2 1981 1 0.03226932
3 1981 1 -1.60266798
4 1981 1 -1.53095676
5 1981 1 1.71177023
6 1981 1 -0.61309846
tapply(data$SSTs, list(data$years, data$months), mean)
tapply(data$SSTs, factor(data$years), mean)
請不要使用截圖時,你可以更輕鬆地剪切和粘貼文本到你的問題。 – Spacedman