在R中打印摘要时使用数千个分隔符

在R中打印摘要时使用数千个分隔符,r,formatting,R,Formatting,有时,在打印数据框的摘要时,很难快速比较列,因为没有数千个分隔符summary()接受名为digits的参数,该参数可用于稍微调整输出。但是,如果没有数千个分隔符,在许多情况下比较色谱柱是不容易的 是否有任何方法可以更改摘要信息的输出以添加数千个分隔符?可能是某个命令对summary的输出进行后期处理?我不知道该功能。但是,对于格式良好的摘要统计数据(以及模型的输出),您可能会发现具有该功能的软件包stargazer,sjPlot等都很有用。我在sjPlot软件包的sjt.df函数中添加了一个b

有时,在打印数据框的摘要时,很难快速比较列,因为没有数千个分隔符
summary()
接受名为
digits
的参数,该参数可用于稍微调整输出。但是,如果没有数千个分隔符,在许多情况下比较色谱柱是不容易的


是否有任何方法可以更改摘要信息的输出以添加数千个分隔符?可能是某个命令对
summary
的输出进行后期处理?

我不知道该功能。但是,对于格式良好的摘要统计数据(以及模型的输出),您可能会发现具有该功能的软件包
stargazer
sjPlot
等都很有用。

我在sjPlot软件包的
sjt.df
函数中添加了一个
big.marks
参数,请参阅最新版本。此函数使用
psych
包的
descripe
函数,并将输出放入格式化的HTML表中

sjt.df(as.data.frame(WorldPhones), big.mark = ",")


你在找这样的东西吗?

我知道
prettyNum
,例如
prettyNum(x,big.mark=“,”)
将在千处插入逗号,但是返回的向量是字符(不是数字)。因此,经典的摘要不起作用,它只计算唯一的“字符串”:
summary(如果(max(x,na.rm=t)>999)prettyNum(x,big.mark=“,”),else x))
@Daniel,为什么不在
摘要的输出上使用
prettyNum
prettyNum(summary(x),big.mark=“,”)
?我可能有点困惑OP到底在寻找什么,但至少这解决了最初转换为字符串的问题。事实上,交换summary和prettyNum的位置就可以了@不幸的是,MichaelChirico使用prettyNum并不适用于所有字段。数千个分隔符可正确用于“平均值”和“中值”等字段。但它们不适用于“最小/最大”或“第一/第三四分位数”等其他情况。我不熟悉prettyNum,但它可能会被“Min”、“Max”等后面的点愚弄。有趣的是,这是不幸的。您必须进入
summary
的源代码中,才能使用
prettyNum
,然后才能将其粘贴到摘要编号中进行打印。这正是我想要的。谢谢。我得到了一个错误:sjt.df(as.data.frame(WorldPhones),big.mark=“,”,alternateRowColors=T)中的错误:找不到函数“sjt.df同时,此函数在中重新实现,称为。有一个
out
-参数让我们创建HTML表。Daniel的答案更全面,所以我建议接受他的答案而不是我的。
sjt.df(as.data.frame(WorldPhones), 
       big.mark = ",", 
       alternateRowColors = T)