强制NAs显示在xtable的回归输出中

时间:2014-02-05 17:15:51

标签: r xtable

xtable默认从回归输出中删除NA值。我想强制这些系数显示在输出中,其NA值。有一个参数NA.stringprint.xtable,我认为它会提供此功能,但它至少不会对lm个对象做任何事情。

例如,

df <- data.frame(A=1:3, B=2:4, C=2:4)
reg <- lm(A ~ B + C, df)
print(xtable(reg), NA.string = "Foo") 

创建以下输出

% latex table generated in R 3.0.2 by xtable 1.7-1 package
% Wed Feb  5 11:04:09 2014
\begin{table}[ht]
\centering
\begin{tabular}{rrrrr}
   \hline
 & Estimate & Std. Error & t value & Pr($>$$|$t$|$) \\ 
  \hline
(Intercept) & -1.0000 & 0.0000 & -Inf & 0.0000 \\ 
   B & 1.0000 & 0.0000 &  Inf & 0.0000 \\ 
   \hline
\end{tabular}
\end{table}

虽然我想要输出的是

% latex table generated in R 3.0.2 by xtable 1.7-1 package
% Wed Feb  5 11:04:09 2014
\begin{table}[ht]
\centering
\begin{tabular}{rrrrr}
   \hline
 & Estimate & Std. Error & t value & Pr($>$$|$t$|$) \\ 
  \hline
(Intercept) & -1.0000 & 0.0000 & -Inf & 0.0000 \\ 
   B & 1.0000 & 0.0000 &  Inf & 0.0000 \\ 
   C & NA & NA & NA & NA \\ %%% This is the new line
   \hline
\end{tabular}
\end{table}

2 个答案:

答案 0 :(得分:0)

我希望有一个我失踪或没有正确使用的论点。也许我正在寻找的是不可能的。我想我只会手动创建所有NA系数和xtable的数据框。

答案 1 :(得分:0)

这是一个非常古老的问题,但我发现它是因为我遇到了类似的问题。

xtable文档建议将“NA.string”作为适当的参数。所以你要添加NA.string =“NA”来在输出中打印NA,因为默认是一个空格。

请注意,如果由于某种原因您无法使其工作,但您只有少量的NA,您实际上可以手动编辑输出(通过在每行中的相邻&符号之间插入NA)。 / p>