当summary = F并且字符列包含包含&
的元素时,如何打印stargazer表? summary=F
逐字打印数据表,这就是我想要的。
这是一个按预期打印的情况:
> stargazer::stargazer(
+ data.frame(ur1=c('hot','tamale'),yum='!')
+ ,type='text',summary=F)
============
ur1 yum
------------
1 hot !
2 tamale !
------------
在这里,&
分为两列。
> stargazer::stargazer(
+ data.frame(ur1=c('hot & tamale'),yum='!')
+ ,type='text',summary=F)
============
ur1 yum
------------
1 hot tamale
------------
在html和latex模式中也会发生相同的行为。在乳胶中,很容易通过评论&
和lagsub(x,pattern='&',replacement='\\&',fixed=T)
来破解角色的修复但是该修复不适用于html并且用实体&
替换它仍然导致分裂。虽然使用kable
或简单的markdown来打印表格很容易,但我希望我的这种表格与stargazer回归表具有相同的风格。
我希望有人能帮帮忙!此外,如果它是一个错误,我找不到报告它的开发回购。
我有最新版的stargazer:
> devtools::session_info()
Session info ------------------
setting value
version R version 3.4.4 (2018-03-15)
system x86_64, linux-gnu
ui RStudio (1.1.419)
language (EN)
collate en_US.UTF-8
tz Etc/UTC
date 2018-09-14
Packages ----------------------
stargazer 5.2.2 2018-05-30 CRAN (R 3.4.4)
这是一个非常hacky的解决方案,但你可以在\t
之前插入一个标签(\b
)和一个退格(&
)转义序列。这似乎适用于type = "text"
和type = "html"
,但不适用于type = "latex"
。
dat <- data.frame(ur1=c('hot & tamale', 'hot & taco') ,yum='!')
dat[, 1] <- gsub("&", "\t\b&", dat[, 1])
stargazer::stargazer(dat, type = "text", summary=F)
====================
ur1 yum
--------------------
1 hot & tamale !
2 hot & taco !
--------------------