如何使用新 Column/Factor 更新调查设计

How to update Survey Design with new Column/Factor

我想通过更新我的调查设计来添加一个新列,但我不确定如何操作。我正在使用以下网站,这对我有很大帮助:http://asdfree.com/survey-of-consumer-finances-scf.html

我正在使用消费金融数据调查来得出各种分组的金融资产摘要。这项调查让受访者回答问题,我感兴趣的部分是金融资产​​部分,尤其是资产净值。

我先下载并导入数据:

library(lodown)
lodown( "scf" , output_dir = file.path( path.expand( "~" ) , "SCF" ) )

library(lodown)
# examine all available SCF microdata files
scf_cat <-
    get_catalog( "scf" ,
        output_dir = file.path( path.expand( "~" ) , "SCF" ) )

# 2007 only
scf_cat <- subset( scf_cat , year == 2007 )
# download the microdata to your local computer
scf_cat <- lodown( "scf" , scf_cat )

然后我构建了一个多重估算的复杂样本调查设计,如上面网站所述:

scf_imp_2007 <- readRDS( file.path( path.expand( "~" ) , "SCF" , "scf 2007.rds" ) )
scf_rw_2007 <- readRDS( file.path( path.expand( "~" ) , "SCF" , "scf 2007 rw.rds" ) )

scf_design_2007 <-


svrepdesign( 
         weights = ~wgt , 
         repweights = scf_rw_2007[ , -1 ] ,
  data = imputationList( scf_imp_2007 ) ,
         scale = 1 ,
         rscales = rep( 1 / 998 , 999 ) ,
         mse = FALSE ,
         type = "other" ,
        combined.weights = TRUE
     )

数据有多个列,但我对按“收入”对“资产净值”分组感兴趣。虽然我可以执行以下操作

scf_MIcombine( with( scf_design_2007 ,
    svyby( ~ networth , ~ income , svytotal )
) )

我认为这不对,即使是这样,我得到了每个受访者收入和相应净资产的列表,我想更新设计并添加一个新列,将所有受访者的净资产分为 1 个4 个收入桶:

0-100k, 100k-200k, 200k-400k, 大于 400k

这样我就可以了解净资产是如何分布在不同收入阶层的。关于如何做到这一点的任何想法?我试过搜索论坛,但没有任何运气。任何帮助深表感谢。谢谢。

修改variable recoding step中的hhsex例子,也许

income_cat = 
    factor( 
        1 + findInterval( 
                income , 
                c( 100000 , 200000 , 400000 )
            ) ,
        levels = 1:4 , 
        labels = c( 'below 100k' , '100k - below 200k' , '200k - below 400k' , '400k+' )
    )

然后在您的 svyby() 中使用 income_cat 而不是 income