Для образца dataframe:Дайте процент группой в R
df1 <- structure(list(i.d = structure(1:9, .Label = c("a", "b", "c",
"d", "e", "f", "g", "h", "i"), class = "factor"), group = c(1L,
1L, 2L, 1L, 3L, 3L, 2L, 2L, 1L), cat = c(0L, 0L, 1L, 1L, 0L,
0L, 1L, 0L, NA)), .Names = c("i.d", "group", "cat"), class = "data.frame", row.names = c(NA,
-9L))
Я хотел бы добавить дополнительный столбец к моей dataframe («pc.cat»), который записывает процентное «1s» в колонке кота за групповой идентификатор.
Например, в группе 1 есть четыре значения (i, d, a, b, d и i). Значение «i» равно NA, поэтому на данный момент это можно игнорировать. Осталось только одно из трех значений, поэтому процент будет читать 33.33 (до 2 dp). Это значение будет заполнено в столбце «pc.cat» рядом со всеми строками с «1» в группе (даже столбцами NA). Затем этот процесс повторяется для других групп (2 и 3).
Если бы кто-нибудь мог мне помочь с кодом для этого, я был бы очень признателен.