【发布时间】:2017-03-15 12:43:26
【问题描述】:
考虑数据:
set.seed(123)
x <- rbinom(12, 1, .5)
y <- (x==0) * rexp(12, 1/100)
z <- (x==1) * rexp(12, 1/220)
group <- sample( rep(1:2, each=6) )
d <- data.frame(x, y, z, group)
数据先按y排序,再按z排序
d <- d[order(d$y,d$z),]
现在在每个组中,我想给 rank 。以下代码正常工作:
ds <- split(d, d$group)
ds1 <- ds[[1]]
ds1$rank <- 1:nrow(ds1)
ds2 <- ds[[2]]
ds2$rank <- 1:nrow(ds2)
但在不拆分数据框的情况下,我想在每个组中进行排名。我该怎么做?
【问题讨论】:
标签: r