[英]Is there a way to paste 2 "ftable" object?
我正在使用svyby
從survey
中得出一些加權比率及其標准偏差和變異系數,我使用下面的代碼生成一個三向表,它為我提供了subocup
與男性遠程Hombre_subocup/ocup
,女性的ocup
的比率遠程Mujer_subocup/ocup
和非遠程工作者男性和女性完全相同。
tasasub_tele_sex319<-ftable(svyby(~subocup, by= ~ tele_sinco11 + SEX, subset(sd319, EDA >= 15 & POS_OCU != "Trabajadores sin pago"), denominator = ~ocup, deff= T, level = 0.9, vartype = c("cv", "se"), na.rm.by = T,svyratio))
tasasub_tele_sex319
並得到:
SEX_
tele_sinco11_ Hombre_subocup/ocup Mujer_subocup/ocup
No teletrabaja_svyratio 0.084149460 0.080230723
No teletrabaja_cv 0.001782653 0.002152965
No teletrabaja_SE 0.021184369 0.026834665
No teletrabaja_DEff 3.896438704 3.593164119
Teletrabaja_svyratio 0.036515518 0.027384514
Teletrabaja_cv 0.003075113 0.002250647
Teletrabaja_SE 0.084213867 0.082186856
Teletrabaja_DEff 2.325352651 2.039503624
但我還需要比率的總值(沒有 SEX),所以我使用這段代碼並得到這個 output:
tasasub_tele_tot319<-ftable(svyby(~subocup, by= ~ tele_sinco11, subset(sd319, EDA >= 15 & POS_OCU != "Trabajadores sin pago"), denominator = ~ocup, deff= T, level = 0.9, vartype = c("cv", "se"), na.rm.by = T,svyratio))
tasasub_tele_tot319
>tasasub_tele_tot319
subocup/ocup
tele_sinco11
No teletrabaja svyratio 0.082730583
cv 0.001537011
SE 0.018578512
DEff 4.722529515
Teletrabaja svyratio 0.031475714
cv 0.001902234
SE 0.060434971
DEff 2.299934447
這將是沒有任何分層的比率值(一個簡單的雙向表)。
我想做的是將最后的output粘貼到前者,所以我在同一張表中得到男性比例列,女性比例列和總比例列,所以它或多或少應該是這樣的:
我不介意“總計”列是否排在第一位。
解決方案是先組合,然后ftable
。 讓我們使用內置數據集來執行此操作:
> a<-svyby(~api.stu,denom=~enroll, ~stype+sch.wide, dclus1,svyratio)
> b<-svyby(~api.stu,denom=~enroll, ~stype, dclus1,svyratio)
> a
stype sch.wide api.stu/enroll se.api.stu/enroll
E.No E No 0.8794583 0.01429043
H.No H No 0.8386232 0.01170588
M.No M No 0.8390440 0.01478048
E.Yes E Yes 0.8508618 0.01231925
H.Yes H Yes 0.8286597 0.01622480
M.Yes M Yes 0.8589915 0.01272169
> b
stype api.stu/enroll se.api.stu/enroll
E E 0.8532672 0.01253361
H H 0.8300683 0.01472607
M M 0.8536738 0.01114203
它們有不同的列名,但我們可以解決這個問題
> b$sch.wide<-"Total"
> b
stype api.stu/enroll se.api.stu/enroll sch.wide
E E 0.8532672 0.01253361 Total
H H 0.8300683 0.01472607 Total
M M 0.8536738 0.01114203 Total
現在把它們結合起來
> ftable(rbind(a,b))
sch.wide No Yes Total
api.stu/enroll api.stu/enroll api.stu/enroll
stype
E svyratio 0.87945833 0.85086183 0.85326723
SE 0.01429043 0.01231925 0.01253361
H svyratio 0.83862316 0.82865975 0.83006825
SE 0.01170588 0.01622480 0.01472607
M svyratio 0.83904396 0.85899149 0.85367375
SE 0.01478048 0.01272169 0.01114203
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.