我以为这会很容易,但结果却非常困难。这是一个简单的问题:我有一个名称向量:
[1] David David David Nathan Holly Holly Holly Holly
[9] Holly Sue Sue Sue Sue Sue Rene Michelle
[17] Michelle Michelle Jennie Jennie Jennie Jennie
我想制作一个索引向量,以便每个名称都获得相同的索引:
[1] 1 1 1 2 3 3 3 3 3 4 4 4 4 4 5 6 6 6 7 7 7 7
我得到了每个名字的号码
bar <- ddply(df, .(Rater.Name), summarize, rater.n=sum(!is.na(Rater.Name)))
我试过了
lapply(bar$Rater.Name, rep(1:7, bar$rater.n))
以及其他各种东西,例如outer(),by()等。没有奏效。我最终使用了一个笨拙的 for 循环,但似乎应该有一个更像“R-like”的方式来做到这一点。任何人都可以提出一种方法吗?