2017-02-16 13 views
-1

木材は、私が個別に各町のための私のデータの季節の平均値(平均)を取得したい私のデータフレーム動物園とtapplyは

town date prec  TP  TC 
TR 1/10/1983 NaN  NaN 11.34 
CR 2/12/1983 NaN  NaN 4.3 
TR 3/12/1983 11.22 11.36 NAN 
SP 5/6/1985 NaN  NaN 3.2 
BM 6/7/1994 6.33  6.23 1.2 
BM 5/6/1995 5.81  5.9 NAN 
BM 1/11/2005 5.9  5.9 6.2 

です。過去に私は動物園の機能を使って、1年あたりの季節平均を求めました。しかし、動物園は町の別の変数を受け入れるのは苦労しています。 は今、私は1985

ため、だから、1983年のための 月2月の行進の平均と

月、6月のために年間 あたりの町で「PREC、TP、TC」の季節の平均を見つけるために、7月の平均それを拡張したいです出力はそのように見えるはずです。また、「RはNANを0にしてはいけません」それはちょうど欠けているデータです。

town date  prec TP  TC 
TR 1983 11.22 11.36 7.82 
SP 1985  6.07 6.07 2.2 

答えて

2
library(data.table) 
library(lubridate)  
setDT(dat) 
dat[ , .(prec = mean(prec, na.rm = T), TP = mean(TP, na.rm = T), TC = mean(TC, na.rm = T))., by = .(town, year(date))] 
+0

私はいくつかのコンマエラーエラーがあると思い:。(PREC =平均(precは、na.rm = T)、[DT」の予想外の記号は、TP =平均(TP、na.rm = T)、TC =平均(TC、na.rm = T)また、季節平均よりも1年間の平均を意味します。過去に私はmonth = function(x)as.numeric(format(x、 "%m"))prec1 <--which(%1:3の月(tt)%)という関数を使って月を抽出しました。このデータを扱っていません – Wisconsin

+0

あなたの出力に従うようにこれを書いています。月、年、町によって平均を得るために月(日付)を追加することもできます。私はそこにあったタイプミスを修正しました。 – Kristofersen

+0

@ウィスコンシンあなたはあなたが求めていた多くの質問を解決するdata.tableを学ぶのに時間がかかるはずです。また、あなたが探している答えが得られたら、あなたの質問を解決したものとしてマークする必要があります。 – Kristofersen

関連する問題