2

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

我想要的只是平均值的最大值(对于这些时间点中的任何一个),它是对应的 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 意味着。

但我觉得好像有一种更简单的方法可以使用 ddply

4

1 回答 1

5

如果您不必使用摘要:

ddply(x, .(primer), function(DF) DF[DF$mean == max(DF$mean),]) 
于 2012-08-22T14:19:36.710 回答