首页 > 解决方案 > 为什么 ddply 在更改函数顺序时会给出 NA 值?

问题描述

我正在使用ddply并且在更改函数顺序时,有时,有些是NA. 这是一个可重现的示例(除了右侧 2 列中的值外,我将所有字符串都保留在原始 df 中):

演示df:

test_ddplyr=data.frame(genotype=c(rep("dr5_dmso", 5), rep("184_2_bc1_2_2", 5)), 
  root=c("r1s6", "r2s4", "r3s2", "r4s3", "r5s1", "r2s4", "r3s2", "r4s3", "r1s2", 
  "r5s4"), area=c(1:10), intensity=seq(100, 1000, 100))

正确的 ddply 输出:

ok_ddply=ddply(test_ddplyr, .(genotype), summarise, se_area=sd(area)/sqrt(length(area)), 
  se_intensity=sd(intensity)/sqrt(length(intensity)), area=mean(area), 
  intensity=mean(intensity))

列不正确的 ddply 输出se_area为 NA:

bad_ddply=ddply(test_ddplyr, .(genotype), summarise, 
  se_intensity=sd(intensity)/sqrt(length(intensity)), area=mean(area),    
  intensity=mean(intensity), se_area=sd(area)/sqrt(length(area)))

有什么建议么?非常感谢,盖伊

标签: rplyr

解决方案


推荐阅读