Как получить процентную долю таблицы частот в опросном пакете

Я работаю над сложным опросом. Я пытаюсь использовать svytable для составления таблицы непредвиденных обстоятельств. Я использовал следующий код:

(tbl <- svytable(~sch.wide+stype, dclus1))

result
        stype
sch.wide         E         H         M
     No   406.1640  101.5410  270.7760
     Yes 4467.8035  372.3170  575.3989

Я хочу получить процентное соотношение каждой ячейки в таблице. что-то вроде следующего,

      stype
sch.wide         E         H         M
     No   406.1640(xx%)  101.5410(xx%)  270.7760(xx%)
     Yes 4467.8035(xx%)  372.3170(xx%)  575.3989(xx%)

Любая помощь приветствуется


person Mr.M    schedule 11.10.2019    source источник


Ответы (1)


Один из простых подходов - просто заменить значения объекта таблицы исходными значениями и пропорциями, используя paste0():

library(survey)
data(api)
xtabs(~sch.wide+stype, data=apipop)
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
tbl <- svytable(~sch.wide+stype, dclus1)

tbl[] <- paste0(round(tbl, 2), " (", round(prop.table(tbl)*100, 2), "%)")
tbl

        stype
sch.wide E               H              M             
     No  406.16 (6.56%)  101.54 (1.64%) 270.78 (4.37%)
     Yes 4467.8 (72.13%) 372.32 (6.01%) 575.4 (9.29%) 
person 27 ϕ 9    schedule 11.10.2019