R-格式表-试图隐藏第0列

时间:2019-01-15 11:52:39

标签: r hide formattable

我正在使用formattable显示数据框

formattable (cohens_d_effects, digits = 2)

我的桌子看起来像这样:

enter image description here

当我获得列名时,我可以使用list参数隐藏列:

formattable (cohens_d_effects, list (d_names = FALSE), digits = 2)

但是如何隐藏这些左侧的“ id-numbers”(第0列)?


以下评论中的可复制示例:

d_names = 1:10 
d = 11:20 
Winners = 15:24 
a <- data.frame(d_names, d, Winners) 
a <- a[order(-d), ] 
b <- subset(a, d > 14) 
formattable(b, digits = 2)

2 个答案:

答案 0 :(得分:0)

正如Rui Barradas所说,这些是行名。一个简单的解决方案是将它们设置为NULL

# Load library
library(formattable)

# Example from above
d_names = 1:10 
d = 11:20 
Winners = 15:24 
a <- data.frame(d_names, d, Winners) 
a <- a[order(-d),] 
b <- subset(a, d > 14) 

# Set to NULL before creating the table
row.names(b) <- NULL

# Create the table
formattable(b, digits = 2)

给予,

enter image description here

答案 1 :(得分:0)

我和线程启动器有同样的问题。一些数据框在左边(第0列)给了我这些“ id-numbers”,而其他dataframes没有。最终,我发现,如果我在创建数据框时使用了子集功能,或者将其用作格式表功能的一部分(如下面的示例所示),则会显示这些ID号。

所以我删除它们的解决方案是在dplyr包中而不是R base的子集中生成具有过滤器功能的数据框。

请参见以下示例:

 SELECT c.*
      , (SELECT SUM(units) FROM attendance_it a WHERE a.client_id = c.client_id ) as total_units_it 
      , (SELECT SUM(units) FROM attendance psr a WHERE a.client_id = c.client_id ) as total_units_psr 
      , t.*

 FROM client c
 JOIN therapist t 
   ON c.th_id = t.th_id