【问题标题】:R: Tables with returns [Stargazer example]R:带回报的表格 [Stargazer 示例]
【发布时间】:2020-04-15 10:18:27
【问题描述】:

我有一个数据集,其中包含我想在观星表中显示的不同股票收益。问题是数据框中的最后一行在 3 列中的 2 列中包含 NA。此外,当我使用 stargazer 输出时,它会显示平均值、最大值、最小值等。我只想要数据框中的实际返回值。

示例代码:

#Creating dataframe
X <- data.frame("Group" = c("Value", "Growth", "HML"), "Excess of riskfree" = c(0.1, 0.2,NA), 
                "Excess of Market" = c(0.2,0.4,NA), "Nominal" = c(0.5, 0.6, 0.01))

#Displaying my dataframe
> X

   Group Excess.of.riskfree Excess.of.Market Nominal
1  Value                0.1              0.2    0.50
2 Growth                0.2              0.4    0.60
3    HML                 NA               NA    0.01

#Setting up stargazer table

stargazer(X, title="Table 1: Returns", align=T, digits=4, out="Table1_Ret.txt", no.space=T, flip=T)

#This gives the following table



Table 1: Returns
=====================================================
Statistic Excess.of.riskfree Excess.of.Market Nominal
-----------------------------------------------------
N                 2                 2            3   
Mean            0.1500            0.3000      0.3700 
St. Dev.        0.0707            0.1414      0.3158 
Min             0.1000            0.2000      0.0100 
Pctl(25)        0.1250            0.2500      0.2550 
Pctl(75)        0.1750            0.3500      0.5500 
Max             0.2000            0.4000      0.6000 
-----------------------------------------------------

基本上,我希望 stargazer 表在某种程度上等于我在 R 中的数据框的显示(分组为行,变量作为列名)。并且只显示返回值,而不是似乎是默认布局的统计方法。

不一定必须是 stargazer 包中的表格,如果有其他(更简单)的解决方案,我也很乐意收到!

【问题讨论】:

    标签: r dataframe layout output stargazer


    【解决方案1】:

    您所要做的就是添加 summary= FALSE 选项并将翻转选项设置为 F:

    stargazer(X, summary=F, title="Table 1: Returns", align=T, digits=4, out="Table1_Ret.txt", no.space=T, flip=F)
    #Gives you this:
    
    Table 1: Returns
    ====================================================
      Group  Excess.of.riskfree Excess.of.Market Nominal
    ----------------------------------------------------
    1 Value        0.1000            0.2000      0.5000 
    2 Growth       0.2000            0.4000      0.6000 
    3  HML                                       0.0100 
    ----------------------------------------------------
    

    另外:stargazer 只是将 NA 单元格留空。如果您想将其添加到表格中,只需将其添加为字符串:

    X <- data.frame("Group" = c("Value", "Growth", "HML"), "Excess of riskfree" = c(0.1, 0.2,"NA"), 
                "Excess of Market" = c(0.2,0.4,"NA"), "Nominal" = c(0.5, 0.6, 0.01))
    
    #Then you get this:
    
    Table 1: Returns
    ====================================================
      Group  Excess.of.riskfree Excess.of.Market Nominal
    ----------------------------------------------------
    1 Value         0.1               0.2        0.5000 
    2 Growth        0.2               0.4        0.6000 
    3  HML           NA                NA        0.0100 
    ----------------------------------------------------
    

    查看 stargazer 文档 1 了解更多布局选项。

    【讨论】:

    • 感谢您的回答!顺便说一句,你知道是否有合并表的选项吗?假设我创建了一个名为 Y 的数据框,它仅针对不同的股票样本显示相似的回报,我想与 X 合并,使 Y 显示在与 X 相同的表的右侧。这可能吗?
    • 如果我理解正确的话,不 shure。如果您想将第二个数据框作为列添加到您的表中,您可以使用X&lt;- cbind(X,Y) 组合这两个数据框。这就是你的目标吗?
    • 嗯,是的,这也有点用。如果你明白的话,我有点想要两个单独的表。 Y 在右侧返回(由一条垂直线分割),X 在同一个表的左侧返回。你知道如何添加一条垂直线来“分隔”表格的 X 返回侧和 Y 返回侧吗?还有如何让主标题在中间对齐,我认为 align = T 会这样做。
    猜你喜欢
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 2015-05-06
    • 1970-01-01
    相关资源
    最近更新 更多