srvyr 中具有 Survey_mean 的 p 值

问题描述 投票:0回答:1

我有以下数据集,想要执行测试(最有可能是 T 测试)并报告 p 值。不知道可不可以

structure(list(id = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25), strata = c(10, 
20, 30, 10, 20, 20, 10, 20, 30, 30, 10, 30, 30, 20, 10, 20, 20, 
20, 10, 20, 20, 30, 30, 20, 30), weight = c(10, 8, 17, 15, 9, 
10, 25, 8, 8, 13, 17, 24, 12, 15, 3, 12, 16, 17, 24, 12, 3, 2, 
8, 14, 4), popgroup = c("A", "B", "A", "A", "A", "A", "B", "B", 
"B", "A", "A", "B", "A", "B", "A", "A", "B", "A", "A", "B", "A", 
"B", "B", "B", "B"), inc_01 = c(1500, 1200, 130, 500, 750, 2000, 
10000, 1500, 1050, 400, 360, 490, 250, 400, 2500, 1300, 800, 
540, 690, 520, 600, 700, 700, 600, 400), inc_02 = c(360, 450, 
120, 300, 900, 560, 450, 280, 720, 360, 1000, 900, 530, 820, 
640, 520, 130, 140, 150, 650, 240, 130, 200, 300, 500)), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -25L))

我使用的代码是

example %>%
  as_survey_design(strata = strata,
                   weights = weight) %>%
  group_by(popgroup)%>%
  summarize(inc_01 = survey_mean(inc_01, na.rm = T),
            inc_02 = survey_mean(inc_02, na.rm = T)) %>%  
  head()

如有任何帮助,我们将不胜感激。预先感谢!

r dplyr
1个回答
0
投票

在 R 中运行 t 测试有两种方法 - 您可以使用默认的 S3 方法:

# Modify inc_01 to be whichever DV you'd like
example_a <- example |> 
  dplyr::filter(popgroup == "A") |> 
  dplyr::pull(inc_01)
  
example_b <- example |> 
  dplyr::filter(popgroup == "B") |> 
  dplyr::pull(inc_01)

t.test(example_a, example_b)

...或者类公式的 S3 方法,考虑到您现有的数据格式,它在这里效果更好:

# Modify inc_01 to be whichever DV you'd like
t.test(inc_01 ~ popgroup, data = example)
© www.soinside.com 2019 - 2024. All rights reserved.