为了简单起见,我以一个例子提出我的问题:
假设我在R Markdown文件的块中有一个数据框,如下所示:
x <- c(1,NA,1,NA,NA,1,2)
y <- c(0,2,0,2,2,0,NA)
df <- data.frame(x=x,y=y)
如果我使用指令
跨越RStudio控制台中的列with(df,table(x,y,useNA = "ifany"))
我得到像
这样的东西 y
x 0 2 NA
1 3 0 0
2 0 0 1
NA 0 3 0
如果我用这个表编织Rmd文件,它会以一种不太好的方式打印(带有起始行符号##等等)。我试图通过两种方式获得更好的打印效果:
首先,使用kable:kable(with(df,table(x,y,useNA = "ifany")))
。此解决方案的问题是,不会以类似的方式显示名称x
和y
。是否有某种方法可以使kable
显示以与原始表格类似的方式划分的名称,即放置在相应类别附近?
第二种方式,不使用kable,而是添加chunk选项results='asis'
。然后,所有表格都打印在一个唯一的行中。
我还尝试使用pander
代替kable
,但后来收到错误(Error in if (!has.rownames(df)) { : missing value where TRUE/FALSE needed
)。