2017-02-28 10 views
-1

私はRとこのフォーラムを初めて利用しています。列 からいくつかの行を抽出して、それらを操作しようとしています。その平均を計算する。私は似たような質問をしていましたが、私が欲しいものを正確に見つけられませんでしたどんな助力も高く評価されます。私は次の行が私の問題をはっきりと示すことを願っています。 まず、ここでの再現性の例です。事前に複数の行を列から抽出します

library(data.table) 
counts<-matrix(c(0.3343,0.3543,0.3846,0.3713,0.8341, 
0.5764,0.3543,0.8341,0.3846,1,2,3,4,5,6,1,2,3,7,7,7,8,8,8,9,9,9), ncol=3) 
colnames(counts) <- c('value','doy','month') 
counts2 <- data.table(counts) 
counts2[month == 7, list(M1 = mean(value))] 

このコードは、私が欲しいもの私の月7の平均を与えることは、月7からの値の平均であると8

おかげで多くのことを!我々は見つけること%in%を使用している場合は

+1

'集計(値〜月、counts2 [counts2 $月%%c(7,8)]、平均) ' –

+0

[data.frameのグループごとの平均]の重複の可能性があります(http://stackoverflow.com/questions/21982987/mean-per-group-in- a-data-frame) –

答えて

0

集約mean

counts2[month %in% c(7,8), list(M1 = mean(value))] 

それとも私たちが別途必要な場合は、byオプションを使用

counts2[month %in% c(7,8), list(M1 = mean(value)), by = month] 
# month  M1 
#1:  7 0.3577333 
#2:  8 0.5939333 
+0

ありがとうございます!これはまさに私が探していたものでした:) – Baldrian

関連する問題