我有一个调查的大数据集。我已经有一个列/变量,其权重应该应用于整个数据集。这可以通过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
这可能是一个长镜头,目前尚不清楚您的数据是什么样子。
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)