R :: Ftable to Usable data.frame

时间:2013-11-19 22:10:10

标签: r dataframe survey

我正在使用调查数据,并希望从f表中创建更有用的数据框,但无法找到任何明确的转换。

f-table(x)数据如下所示,这是调查程序输出。

library(survey)
design <- svydesign(id=~SDMVPSU, strata=~SDMVSTRA, weights=~WTMEC2YR, nest=TRUE,data=nhanes)

a <-  svyby(~factor(HI_CHOL), ~agecat, design, svymean, na.rm=TRUE ,quantiles=0.5,ci=TRUE,vartype=c(lowci="ci",hi="ci"), keep.names=TRUE)

x <- ftable(a)

enter image description here

使用data.frame(x)我得到这样的东西:

enter image description here

我理想情况下喜欢更清洁的东西,像柱子一样。

Sex,Smoking_status,Mean,Lower_CI,Upper_CI

感谢您的帮助或指导。要么我错过了一些简单的东西,要么就这样。

2 个答案:

答案 0 :(得分:0)

听起来您可能对ftable2df中的GitHub-only "SOfun" package感兴趣。

示例ftable

data(HairEyeColor)
ftable(HairEyeColor)
#             Sex Male Female
# Hair  Eye                  
# Black Brown       32     36
#       Blue        11      9
#       Hazel       10      5
#       Green        3      2
# Brown Brown       53     66
#       Blue        50     34
#       Hazel       25     29
#       Green       15     14
# Red   Brown       10     16
#       Blue        10      7
#       Hazel        7      7
#       Green        7      7
# Blond Brown        3      4
#       Blue        30     64
#       Hazel        5      5
#       Green        8      8

ftable2df做了什么:

library(SOfun)
ftable2df(ftable(HairEyeColor))
#     Hair   Eye Male Female
# 1  Black Brown   32     36
# 2  Black  Blue   11      9
# 3  Black Hazel   10      5
# 4  Black Green    3      2
# 5  Brown Brown   53     66
# 6  Brown  Blue   50     34
# 7  Brown Hazel   25     29
# 8  Brown Green   15     14
# 9    Red Brown   10     16
# 10   Red  Blue   10      7
# 11   Red Hazel    7      7
# 12   Red Green    7      7
# 13 Blond Brown    3      4
# 14 Blond  Blue   30     64
# 15 Blond Hazel    5      5
# 16 Blond Green    8      8

答案 1 :(得分:0)

从你的评论来看,看起来你只是想要这个?

library(survey)
data(nhanes)
design <- svydesign(id=~SDMVPSU, strata=~SDMVSTRA, weights=~WTMEC2YR, nest=TRUE,data=nhanes)
a <-  svyby( ~ HI_CHOL , ~agecat + RIAGENDR + race , design, svymean, na.rm=TRUE ,vartype=c(lowci="ci",hi="ci") )
a