【问题标题】:Correct summary assignment正确的摘要分配
【发布时间】:2020-12-15 12:03:37
【问题描述】:

让我们考虑 stargazer 包:

library(stargazer)

我想创建关于该包的摘要并分配它:

model <- lm(rnorm(100)~runif(100))
model_summary <- stargazer(model, type='text')

但问题是:

stargazer(model, type='text')

给:

===============================================
                        Dependent variable:    
                    ---------------------------
                            rnorm(100)         
-----------------------------------------------
runif(100)                     0.522           
                              (0.388)          
                                               
Constant                      -0.246           
                              (0.223)          
                                               
-----------------------------------------------
Observations                    100            
R2                             0.018           
Adjusted R2                    0.008           
Residual Std. Error       1.124 (df = 98)      
F Statistic             1.809 (df = 1; 98)     
===============================================
Note:               *p<0.1; **p<0.05; ***p<0.01

model_summary 给出:

[1] ""                                                "==============================================="
 [3] "                        Dependent variable:    " "                    ---------------------------"
 [5] "                            rnorm(100)         " "-----------------------------------------------"
 [7] "runif(100)                     0.522           " "                              (0.388)          "
 [9] "                                               " "Constant                      -0.246           "
[11] "                              (0.223)          " "                                               "
[13] "-----------------------------------------------" "Observations                    100            "
[15] "R2                             0.018           " "Adjusted R2                    0.008           "
[17] "Residual Std. Error       1.124 (df = 98)      " "F Statistic             1.809 (df = 1; 98)     "
[19] "===============================================" "Note:               *p<0.1; **p<0.05; ***p<0.01"

他们怎么会给出不同的输出?我怎样才能让它们给出相同的结果?

编辑

最后我想要的是一个包含model_summary的列表。

output <- list()
output['summary'] <- model_summary 
output$summary 
===============================================
                        Dependent variable:    
                    ---------------------------
                            rnorm(100)         
-----------------------------------------------
runif(100)                     0.522           
                              (0.388)          
                                               
Constant                      -0.246           
                              (0.223)          
                                               
-----------------------------------------------
Observations                    100            
R2                             0.018           
Adjusted R2                    0.008           
Residual Std. Error       1.124 (df = 98)      
F Statistic             1.809 (df = 1; 98)     
===============================================
Note:               *p<0.1; **p<0.05; ***p<0.01

【问题讨论】:

    标签: r output variable-assignment stargazer


    【解决方案1】:

    您可以使用相同的格式重新生成输出:

    cat(paste0(model_summary, collapse = '\n'))
    
    #===============================================
    #                        Dependent variable:    
    #                    ---------------------------
    #                            rnorm(100)         
    #-----------------------------------------------
    #runif(100)                    -0.671*          
    #                              (0.365)          
    #                                               
    #Constant                      0.468**          
    #                              (0.223)          
    #                                               
    #-----------------------------------------------
    #Observations                    100            
    #R2                             0.033           
    #Adjusted R2                    0.023           
    #Residual Std. Error       1.122 (df = 98)      
    #F Statistic             3.375* (df = 1; 98)    
    #===============================================
    #Note:               *p<0.1; **p<0.05; ***p<0.01
    

    【讨论】:

    • 嗯,我看到了你的解决方案,但它并不能完全解决我的问题。执行 model_summary
    • 我的意思是有没有可能我可以将此摘要分配给变量并引用它?
    • @John 那么不要使用cat,你可以参考:cat(model_summary)
    • @John 您不能将打印输出分配给变量。
    • @John paste0(model_summary, collapse = '\n') 正是您想要的。 cat 仅用于打印,它返回 NULL。您到底打算在哪里使用它?
    【解决方案2】:

    你可以避免@Ronak Shah 给出的哈希

    library(magrittr)
    paste(model_summary, collapse = "\n") %>% cat 
    
    ===============================================
                            Dependent variable:    
                        ---------------------------
                                 rnorm(10)         
    -----------------------------------------------
    Constant                      -0.373           
                                  (0.294)          
                                                   
    -----------------------------------------------
    Observations                    10             
    R2                             0.000           
    Adjusted R2                    0.000           
    Residual Std. Error       0.931 (df = 9)       
    ===============================================
    Note:               *p<0.1; **p<0.05; ***p<0.01
    

    【讨论】:

    • 我在输出中手动添加了哈希。你的答案和我的没有什么不同。
    • @RonakShah 我认为这是您输出的一部分。我刚刚意识到我们俩都给出了相同的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 2011-08-22
    • 1970-01-01
    • 2014-12-01
    • 2022-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多