У меня есть кадр данных, как это:частоты оценки для нескольких подмножеств кадра данных в R
df<-data.frame(fac1=rep(c("a","b","c"),3),fac2=c(rep("x",3),rep("y",3),rep("z",3)),val=seq(10,90,10))
То, что я хотел бы сделать, это вычислить частоту для каждого уровня fac1 в данных fac2.
Я не использовал «для петли» много, но я думал, что что-то, как это будет сделать это:
df$freqs<-for(i in unique(df$fac2)) df$val/sum(df$val)
Однако ничто не возвращенную, когда я делаю это. Если у кого-нибудь есть идеи, это было бы здорово.
Вам нужна библиотека (data.table), setDT (df) [, val/sum (val), fac2] ' – akrun