【发布时间】:2018-02-03 03:13:06
【问题描述】:
我想按两列(序列和程序)聚合一个表(选项卡)以获得样本大小的顶行(FUN=head)。
sq <- c(1,1,1,1,1,1)
prog<- c('A','A','B','B','C','C')
ss <- c(47,47,28,28,47,47)
tab<- data.frame(sq,prog,ss)
Aggregate 给了我一个奇怪的结果,如果序列和程序的不同组合的样本量相同 - 它会忽略它。
agg <- aggregate(cbind(sq,prog) ~ ss, data = tab, FUN=head,1,na.rm=TRUE)
我很困惑为什么会发生这种情况以及为什么当它是文本(A,B,C)时它将程序更改为数字序列。
【问题讨论】:
-
你的聚合错误:
agg <- aggregate(ss ~ sq + prog, data = tab, FUN=head,1,na.rm=TRUE)