我正在尝试使用从 1 到 n 的连续数字填充表中的字段(或完全创建一个单独的向量,以更容易的为准),其中 n 是共享相同因子级别的记录总数,然后返回到 1 进入下一个级别,等等。也就是说,对于这样的表
data<-matrix(c(rep('A',4),rep('B',3),rep('C',4),rep('D',2)),ncol=1)
结果应该是一个新列(例如“sample”),如下所示:
sample<-c(1,2,3,4,1,2,3,1,2,3,4,1,2)
最佳答案
您可以使用ave
按如下方式获取它:
data <- data.frame(data)
new <- ave(rep(1,nrow(data)),data$data,FUN=cumsum)
all.equal(new,sample) # check if it's right.
关于r - 某个因素级别内的记录计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17923466/