我正在使用大型數據集,我不習慣使用一個這樣大的(286,212行,19列),我不知道如何解決我的問題。數據由782個網格參考的一年中的每一天的值組成,我有15年的時間。它看起來如下用特定日期和網格的平均值替換NA
**Month Day Grid x2004 x2005 x2006 x2007**
1 1 A10 0.091 0.134 NA 0.066
1 2 A10 0.12 0.10 0.23 0.054
1 3 A10 0.55 NA NA 0.08
1 1 B10 NA 0.134 NA 0.17
1 2 B10 0.14 0.151 NA 0.21
1 3 B10 0.43 0.162 0.24 NA
然而一些日子失蹤,我想插入的那一天平均使用來自其他年份值特定的網格。因此,如果2006年第1天的Grid A10缺失。我想插入2004年,2005年,2007年的第1天網格A10的平均值,在這種情況下爲0.097。
我想下面的代碼
,我打算做的所有年份,但它告訴我
"Error in rowMeans(data[c(data$x2006[i], data$x2007[i], data$x2012[i]), :
'x' must be numeric"
雖然當我檢查類,它說,他們都是數字,所以我不知道爲什麼x不是數字。我也不知道,即使當我得到平均部分排序,如果代碼將起作用,以便我得到特定於每個網格和每一天的平均值。
請幫忙。由於
有此'庫(動物園)愚弄;庫(dplyr); df1%>%group_by(Day,Grid)%>%mutate_at(vars(starts_with(「x」),na.aggregate)' – akrun
對不起,我真的不知道你的意思嗎?那不是正常工作 – Fosulli
你可以顯示預期產出 – akrun