簡體   English   中英

根據跨多列的因子水平計算多個變量的比例

[英]Calculate proportions for multiple variables according to factor level across multiple columns

我有一些人口統計變量和問題變量的調查數據,這些變量已被編碼為二進制數據。

演示變量如下所示:

urban     labor_force            
<fct>     <fct>            
rural     in labor force            
urban     in labor force         
rural     not in labor force      

問題變量如下所示:

Q65_armedforces     Q69_police   Q70_courts
<int>               <int>        <int>
1                   1            1
1                   0            1
0                   0            0

整個數據集的結構如下:

urban     labor_force      Q65_armedforces     Q69_police   Q70_courts
<fct>     <fct>                <int>               <int>        <int>
rural    in labor force          1                   1            1 
urban    in labor force          1                   0            1
rural    not in labor force      0                   0            0

我想要實現的是我可以寫入 csv 的表格,對於所有問題變量,人口統計變量中每個因子水平的比例為 1。 所以最終產品看起來像這樣(使用數據集中的實際數字更新):

                    urban   rural   in labor force    not in labor force   
Q65_armed forces    0.85    0.88    0.86              0.86             
Q69_police          0.84    0.84    0.83              0.85                 
Q70_courts          0.74    0.76    0.75              0.75                 

數字來源於

wvs_final %>% group_by(urban) %>% summarize(mean(Q65_armedforces, na.rm=TRUE))
wvs_final %>% group_by(urban) %>% summarize(mean(Q69_police, na.rm=TRUE))
wvs_final %>% group_by(urban) %>% summarize(mean(Q70_courts, na.rm=TRUE))

wvs_final %>% group_by(labor_force) %>% summarize(mean(Q65_armedforces, na.rm=TRUE))
wvs_final %>% group_by(labor_force) %>% summarize(mean(Q69_police, na.rm=TRUE))
wvs_final %>% group_by(labor_force) %>% summarize(mean(Q70_courts, na.rm=TRUE))

我有大約 50 個問題變量,所以我不想嘗試使用 group_by 來單獨獲取這些變量,但我堅持使用 go 來實現自動化。

謝謝你的幫助。

您可以獲得長格式的數據,並為每列計算mean

library(dplyr)
library(tidyr)

df %>%
  pivot_longer(cols = urban:labor_force) %>%
  group_by(value) %>%
  summarise(across(Q65_armedforces:Q70_courts, mean, na.rm = TRUE))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM