在R中,如何阻止xtable自动取整?
在这种情况下,如何禁用自动舍入在R中,如何阻止xtable自动取整?,r,rounding,dataframe,xtable,R,Rounding,Dataframe,Xtable,在这种情况下,如何禁用自动舍入 > x <- c(2.222, 3.333, 6.6666) > df <- data.frame(x) > df x 1 2.2220 2 3.3330 3 6.6666 > xtable(df) 我在中找不到任何选项来关闭它。请参阅@James'的答案以获得正确答案(我甚至没有检查,因为我假设@mmmasterluke已经阅读了文档) 作为替代方案,您可以从packagememisc中使用toLatex: l
> x <- c(2.222, 3.333, 6.6666)
> df <- data.frame(x)
> df
x
1 2.2220
2 3.3330
3 6.6666
> xtable(df)
我在中找不到任何选项来关闭它。请参阅@James'的答案以获得正确答案(我甚至没有检查,因为我假设@mmmasterluke已经阅读了文档) 作为替代方案,您可以从package
memisc
中使用toLatex
:
library(memisc)
x <- c(2.222, 3.333, 6.6666)
df <- data.frame(x)
toLatex(df, digits=4)
它还有许多其他选项,您可以使用这些选项来配置Latex输出。数字如何
xtable(df,digits=4)
% latex table generated in R 2.12.2 by xtable 1.5-6 package
% Tue Oct 25 11:39:25 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rr}
\hline
& x \\
\hline
1 & 2.2220 \\
2 & 3.3330 \\
3 & 6.6666 \\
\hline
\end{tabular}
\end{center}
\end{table}
如果您已经使用首选舍入设置了数据框的格式,并且不想为每列重新键入数字,那么一种解决方案是将所有内容都转换为文本。我刚刚定义了一个函数,然后在其他地方使用它来代替
xtable
:
myxtable <- function(x, ...) xtable(apply(x, 2, as.character), ...)
myxtable您可以通过将所有列转换为字符串来实现,尽管它可能会生成一些警告消息:
> xtable(df, display=rep("s",ncol(df)+1))
% latex table generated in R 3.3.3 by xtable 1.8-2 package
% Tue Oct 24 12:43:58 2017
\begin{table}[ht]
\centering
\begin{tabular}{rr}
\hline
& x \\
\hline
1 & 2.222 \\
2 & 3.333 \\
3 & 6.6666 \\
\hline
\end{tabular}
\end{table}
Warning message:
In formatC(x = c(2.222, 3.333, 6.6666), format = "s", digits = 2, :
trasformo l'argomento in "character" in format="s"
这并不能完全回答问题。我有一个例子,我希望数字按原样显示——我自己做了所有的舍入,例如,不希望整数显示为121.0000。
myxtable <- function(x, ...) xtable(apply(x, 2, as.character), ...)
> xtable(df, display=rep("s",ncol(df)+1))
% latex table generated in R 3.3.3 by xtable 1.8-2 package
% Tue Oct 24 12:43:58 2017
\begin{table}[ht]
\centering
\begin{tabular}{rr}
\hline
& x \\
\hline
1 & 2.222 \\
2 & 3.333 \\
3 & 6.6666 \\
\hline
\end{tabular}
\end{table}
Warning message:
In formatC(x = c(2.222, 3.333, 6.6666), format = "s", digits = 2, :
trasformo l'argomento in "character" in format="s"