【发布时间】:2022-11-22 03:53:37
【问题描述】:
我有一个包含的数据框“数据”
- 员工 ID(“CPNo”)- 整数
- 性别-因素
- 工作角色 - 因素
- 国家-因素
- 年薪 - int
我想对每个国家/地区的每个工作角色进行 t 检验,看看在相同工作角色和国家/地区的性别之间是否存在显着的薪酬差距。
我创建了一个嵌套数据框,其中包含至少有 20 个观察值的数据框:
dataNested <- data %>%
select(CPNo, Gender, JobRole, Country, AnnualSalaryLocal) %>%
nest(data = c(CPNo, Gender, AnnualSalaryLocal)) %>% filter(map_int(data, nrow) > 20)
我想对该嵌套数据框运行 t 检验:
dataNested %>%
mutate(t_test = map(data, ~t.test(.x$AnnualSalaryLocal ~ .x$Gender, var.eq=F, paired=F)))
现在,如果我运行代码,我会得到下表,它是一个包含我的 t 检验结果的嵌套数据框:
JobRole
<fctr>
JobStage
<fctr>
Country
<fctr>
data
<list>
t_test
<list>
76 Product Development 06 Ireland <tibble> <S3: htest>
76 Product Development 06 Italy <tibble> <S3: htest>
82 Service Delivery 05 Italy <tibble> <S3: htest>
82 Service Delivery 06 Italy <tibble> <S3: htest>
82 Service Delivery 03 Mexico <tibble> <S3: htest>
83 Supply & Logistics 01 Mexico <tibble> <S3: htest>
76 Product Development 05 Poland <tibble> <S3: htest>
如果我想添加一个从我的“t_test”变量中提取 p.value 的新变量“sig”,我该如何编写语法?
【问题讨论】:
-
如果您能向我们提供一些示例数据,将会更容易——否则无法有效地解决您的问题。但是,请尝试修改此行:
mutate(t_test = map(data, ~t.test(.x$AnnualSalaryLocal ~ .x$Gender, var.eq=F, paired=F)))- 在t.test之前添加波浪号 -
谢谢,这只是为了发现我语法中的错误!