【发布时间】:2012-08-21 21:46:04
【问题描述】:
df1
primer timepoints mean sde
Acan 0 1.0000000 0.000000e+00
Acan 20 0.8758265 7.856192e-02
Acan 40 1.0575400 4.680159e-02
Acan 60 1.2399106 2.238616e-01
Acan 120 1.1710685 2.085558e-02
Acan 240 1.6430670 NA
Acan 360 1.7747940 NA
我想要的是平均值的最大值(对于任何这些时间点)w/它对应的 sde。
## this will only get me the mean obviously
x <- ddply(x, .(primer), summarize, max = max(mean))
primer max
Acan 1.774794
## if I were to do this I would obviously not have just the maximum values
x <- ddply(x. .(primer,sde), summarize, max = max(mean))
我的一个想法可能是在 df 中包含时间点,然后匹配两个数据帧以获得一列 sdes。然后 cbind 到 df w/ only 意味着。
但我觉得好像有一个更简单的方法来做到这一点 w/ddply
【问题讨论】:
-
如果你不用
summarise:ddply(x, .(primer), function(DF) DF[DF$mean == max(DF$mean),]) -
使用您的示例数据,很容易拉出包含最大平均值的行:df1[df1$mean == max(df1$mean),]。但也许您还有其他引物名称,需要按这些名称进行分组?
-
是的,我愿意,但这很好用。我只需要单个值的底漆,所以我认为这很好
-
@Justin 你或 OP 可以将此作为答案发布,这样这个问题就不会因为没有答案而悬而未决吗?