Применение весовой переменной ко всему набору данных съемки в R - PullRequest
0 голосов
/ 14 апреля 2020

У меня большой набор данных из опроса. У меня уже есть столбец / переменная, которая является весом, который должен применяться ко всему набору данных. Это просто достигается в SPSS, но я бы хотел сделать это и в R. Я уже знаю, как применить взвешивающую переменную к отдельному столбцу, например:

gend <- wtd.table(master.data$Q10_GENDER, weights = master.data$Weight_Age_Gender_Income)

Это прекрасно работает для одной переменной, но я не хотел бы делать это для каждой команды, которую я запускаю , Есть ли способ применить ко всему набору данных?

Я уменьшил большее подмножество моей внешней базы данных в простой трехзначный DF, и я хотел бы применить одну предварительно рассчитанную переменную веса ко всему DF .

test <- data.frame(br$Q10_GENDER, 
               br$Q5B_URBANICITY, 
               br$S4_AGE_GROUP_1)

br$Weight_Age_Gender_Income

Сводный вывод:

     br.Q10_GENDER                br.Q5B_URBANICITY br.S4_AGE_GROUP_1
 Female:4986   Urban, city center      :8791    18-24  :3048     
 Male  :4893   Suburbs surrounding city: 827    25-29  :1664     
 Other :  44   Rural                   : 305    30-34  :1218     
                                                35-39  : 954     
                                                40-44  : 806     
                                                13-17  : 763     
                                                (Other):1470 

1 Ответ

0 голосов
/ 15 апреля 2020

Это может быть длинный выстрел, не ясно, как выглядят ваши данные.

library(dplyr)

set.seed(123)

df <- data.frame(v1 = runif(4),
              v2 = c(1, 2, 2, 1),
              v3 = 1:4,
              wgt = c(0.1, 0.5, 1, 2))


df %>% mutate_at(vars(v1:v3), function(x) .$wgt * x)

...