2017-02-28 46 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

感谢很多提前!

+1

'汇总(值〜月,counts2 [counts2 $ %%c(7,8)],平均值)' –

+0

[data.frame中每个组的平均值]的可能重复(http://stackoverflow.com/questions/21982987/mean-per-group-in- a-data-frame) –

回答

0

在我们使用%in%找到那种情况下,聚集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