我正在使用调查数据,并希望从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)
使用data.frame(x)我得到这样的东西:
我理想情况下喜欢更清洁的东西,像柱子一样。
Sex,Smoking_status,Mean,Lower_CI,Upper_CI
感谢您的帮助或指导。要么我错过了一些简单的东西,要么就这样。
答案 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