10

質問する前に、いくつかデータを作成させてください。

 my.data <- data.frame(A = sample(seq(1,100,by=5),10,replace=TRUE),W = rnorm(10),X =sample(1:10),Y = sample(c("yes", "no"), 10, replace = TRUE),Z=sample(c('a','b','c','d'),10,replace=TRUE))

attach(my.data)

my.d <- xtabs(W~Z+Y+A);my.d
table.data <- ftable(my.d)

result1 <- round(table.data,2)

結果1は次のようになります..

      A     6    11    16    26    71    76    86    91
Z Y                                                    
a no     0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
 yes    0.00  0.56  0.00  0.00  0.00  0.79  0.00  0.01

b no     0.61  0.00 -0.22  0.14  0.00  0.00 -0.08  1.71
  yes    0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00

c no     0.00  0.00  0.00  0.00 -0.08  0.00  0.00  0.00
  yes    0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00

d no     0.00  0.00  0.00  0.00  1.00  0.00  0.00  0.00
  yes    0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00

実際にknitrパッケージを使って記事を書いています。*.rnw ファイルがコンパイルされたときに、result1 をラテックス テーブルに自動的に変換する方法はありますか?

xtableで試しましたが、次のエラーが発生しました...

Error in UseMethod("xtable") :   no applicable method for 'xtable' applied to an object of class "ftable"

@DWinと@Yihuiに感謝します。latex() とは別に、以下に記載されているように xtable も使用しました

print(xtable(ftable2data.frame(result1)))

不要な行名を削除するために、次のことを行いました

print(xtable(ftable2data.frame(result1)),include.rownames=FALSE)
4

5 に答える 5

7

代わりに、memisc は ftable オブジェクト用の toLatex メソッドを提供します。

library(memisc)
toLatex(result1)
于 2013-07-04T08:38:23.750 に答える
5

方法 1:

require(MIfuns)
require(Hmisc)
latex(ftable2data.frame(result1))
于 2012-03-11T21:40:45.540 に答える
5

パッケージを使用できますxtable

library(xtable)
mytable=ftable(mydata)
print(
  xtable(format(mytable)),file="~/Desktop/mytable.tex"
)

与えられた他のオプションと比較してどうなのかわかりません。

于 2014-04-30T11:23:27.487 に答える
2

user2030503の回答から構築し、

# install.packages('simsalapar')
library(simsalapar)
utils::toLatex(result1)

関数 toLatex は S3 ジェネリックであるためsimsalapar:::toLatex.ftable()、ftable オブジェクトを指定すると に渡されます。または、単に行うこともできますsimsalapar:::toLatex.ftable(result1)

それが完了したら\usepackage{booktabs}、ラテックスプリアンブルにtoLatex.ftableusesとして含める必要がありました\toprule。または、 を渡すこともできますbooktabs=FALSE

toLatex.ftableまた、末尾のゼロを削除するようにも見えます。これを修正するには、私がしたことです( Rの小数点以下の桁数をフォーマットformat()する への回答を参照してください):

result1[1:nrow(result1),1:ncol(result1)] %<>% as.numeric %>% format(nsmall=2,digits=3)

これは、ftable の行列を文字行列に変換しますが、toLatex.ftableそれでも機能します。

また、これらの分割表は非常に広い可能性があるため、テーブルをand\usepackage{pdflscape}でラップすることも役立つことがわかりました。\begin{landscape}\end{landscape}

于 2016-11-14T01:04:22.483 に答える