set.seed(1)
data = data.frame("person"=c(1:100),
"group"=c(sample(1:2,100,r=T)),
"type"=c(sample(1:3,100,r=T)),
"value"=c(sample(20:40,100,r=T)),
"weight"=c(sample(100:300,100,r=T)),
"score" = c(sample(1:3,100,r=T)))
То, что я собираюсь сделать, это сначала агрегировать по «значению», а затем применять «вес» к баллу. Желаемый результат выглядит следующим образом ----
want = data.frame("value"=sort(rep(unique(data$value),6)),
"group"=rep(1:2,63),
"type"=rep(1:3,42),
"score"=sample(1:3,126,r=T))
Однако я стремлюсь, чтобы во фрейме данных «хочу» была включена переменная WEIGHTED.
-
Еще один пример, вдохновленный @Maurits Evers спасибо. Я думаю, что это то, к чему я стремлюсь.
data = data.frame("person"=c(1,2,3,4,5,6,7,8,9,10),
"group"=c(1,1,1,2,2,1,1,2,2,2),
"type"=c(1,1,2,3,3,3,3,2,2,1),
"value"=c(5,6,5,5,8,9,12,12,7,6),
"score"=c(3,3,2,3,3,2,1,1,1,1),
"weight"=c(100,200,100,200,150,300,100,200,200,300))
data$scoreWEIGHT = data$score * data$weight
aggregate(data$scoreWEIGHT, by=list(Category=data$value), FUN=sum)
#but i aim to use the count function ()