2

だから私はそのようないくつかのパラメータ推定値を持っています

est<-matrix(1:10,nrow=2)
colnames(est)<-c("a","b","c","d","e")

そして私はそのようないくつかの標準エラーを持っています

se<-matrix(seq(0.1,1,by=0.1),nrow=2)
colnames(se)<-c("a","b","c","d","e")

そして、各パラメーター推定値のすぐ下の括弧に標準誤差があるラテックス(またはHTML)テーブルを出力したいと思います。

テーブルは次のようになります

    a    &   b    &  c    &  d    &  e
    1    &   3    &  5    &  7    &  9
  (0.1)  &  (0.3) & (0.5) & (0.7) & (0.9)
    2    &   4    &  6    &  8    &  10
  (0.2)  &  (0.4) & (0.6) & (0.8) & (1.0)

ただし、適切なラテックス(またはHTML)の場合を除きます。Rからこれを行うにはどうすればよいですか?

4

3 に答える 3

3

行ラベルを使用してもかまわない場合は、texregパッケージで解決策を提供できます。

# your original code:
est <- matrix(1:10, nrow = 2)
colnames(est) <- c("a", "b", "c", "d", "e")
se <- matrix(seq(0.1, 1, by = 0.1), nrow = 2)
colnames(se) <- c("a", "b", "c", "d", "e")

# add row labels:
rownames(est) <- c("row 1", "row 2")
rownames(se) <- c("row 1", "row 2")

library("texreg")

# create a texreg object:
tr <- list()
for (j in 1:ncol(est)) {
  tr[[j]] <- createTexreg(
      coef.names = rownames(est), 
      coef = est[, j], 
      se = se[, j]
  )
}

# for text output:
screenreg(tr, custom.model.names = colnames(est), 
    custom.note = "")

# for LaTeX output:
texreg(tr, custom.model.names = colnames(est), 
    custom.note = "")

# for HTML output:
htmlreg(tr, custom.model.names = colnames(est), 
    custom.note = "")

たとえば、テキスト出力は次のようになります。

=============================================
       a       b       c       d       e     
---------------------------------------------
row 1   1.00    3.00    5.00    7.00    9.00 
       (0.10)  (0.30)  (0.50)  (0.70)  (0.90)
row 2   2.00    4.00    6.00    8.00   10.00 
       (0.20)  (0.40)  (0.60)  (0.80)  (1.00)
=============================================

screenreg 関数 (inner.rule = ""およびouter.rule = "") に追加の引数を指定することにより、top、bottom、および mid ルールを省略することもできます。

texreg(>= 1.29.7) がインストールされている必要があることに注意してください。

于 2013-10-17T10:01:06.983 に答える
2

2 つのステップ:

テーブル内のデータを使用してマトリックスを作成する

M <- matrix(as.vector(rbind(as.character(est),
                            paste("(",as.vector(se),")", sep="")
                            )
             ), nrow=4)
colnames(M) <- colnames(est)

マトリックスをラテックスまたは html テーブルとして書き込みます。

library(xtable)
print(xtable(M),type="latex") # or type="html" 
于 2011-03-19T18:30:13.060 に答える
1

apsrtableパッケージが機能するかどうかを確認してください。使用しているモデルオブジェクトの種類によっては、これが解決策になる場合があります。パッケージは他のモデルにも簡単に拡張できます。

- - - - - - - - - アップデート

単純なforループといくつかの貼り付けコマンドを使用してみませんか?一般的な解決策を見つけるよりも、このような少しハックっぽいことをする方がおそらく簡単です。

est<-matrix(1:10,nrow=2)
colnames(est)<-c("a","b","c","d","e")

se<-matrix(seq(0.1,1,by=0.1),nrow=2)
colnames(se)<-c("a","b","c","d","e")

se <- apply(se, 2, function(i) paste('(', i, ')', sep=''))

output <- NULL
for (i in 1:nrow(est)){
  output <- rbind(output, est[i,])
  output <- rbind(output, se[i,])
}
output <- apply(output, 1, paste, collapse=' & ')
output <- paste(output, '\\\\')
cat(output, sep='\n')
于 2011-03-19T02:14:42.030 に答える