2

次のようなテーブルを作成するにはどうすればよいですか。

            Estimate Std. Error t value Pr(>|t|)
(Intercept)    5.032      0.220  22.850    0.000
groupTrt      -0.371      0.311  -1.191    0.249
                       (Adjusted-R squared: 0.02)

次のオブジェクトから?

    #DATA
    ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
    trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
    group <- gl(2,10,20, labels=c("Ctl","Trt"))
    weight <- c(ctl, trt)


    A<-(lm(weight ~ group)) 
    A<-summary(A)     
    B<-round(A$coefficients,3)
    R<-paste("(Adjusted R-squared:",round(A$adj.r.squared,2),")")

私が特に興味を持っているのは、優れたテーブルを出力できる優れた R2wd をいじっていたからです (少なくとも、職場で Word に制限されている人にとっては)。

require(R2wd)
library(rcom)
wdGet(T)
wdNewDoc("c:\\temp\\This.doc")
wdTitle("My Analysis Title")

次に行う必要があるのは、ベクトル A と R を、関数 wdTable() によってフォーマットされる表のようなオブジェクトに結合する方法を見つけることです。それは B を非常にきれいに出力します:

   wdTable(B)

しかし、B と R を結合して適切なテーブルを作成する方法がよくわかりません。ベクトル R を 3 行目 2 列目に配置することになると思いますが (上記のように)、問題が発生しており、wdTable で機能するかどうかはわかりません。

このフォーラムで関連する議論を見つけましたが、 実際にはその核心には達していません。選択したアイテムをテーブルとしてではなく、全体をテキストとして出力します。

どんな助けでも本当に感謝します

PS R2wd を実行するには、これを実行しない場合は、Word ハンドルをインストールする必要があります。

    install.packages(c("R2wd","rcom"))
    source("http://www.r-statistics.com/wp-content/uploads/2010/05/R-console-to-word.r.txt")

   txtStart.2wd()
   #Follow instructions (shows you commands to install the R handle)
   txtStop.2wd(F)
4

1 に答える 1

1

wdtable() を呼び出す前に、行をデータフレームにバインドしようとするだけです。文字列 R を分割し、新しい行のセルを要素で埋めることができます。

そのようです:

require(R2wd)

ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)

A <- summary(lm(weight ~ group))     
B <- round(A$coefficients,3)

# I edited the next line..
R <- paste("(Adjusted R-squared: ",round(A$adj.r.squared,2),")", sep = "")
# split it up:
R <- c(" ", unlist(strsplit(R, " ")))

# row-bind it:
R <- data.frame(rbind(B, " " = R))
colnames(R) <- colnames(A$coefficients)

wdGet()

# print table to doc in word default format:
wdTable(format(R), autoformat = 1)
wdSave(path.expand("~/My_Table.doc"))     # save file
wdQuit()                                  # close handler

shell.exec(path.expand("~/My_Table.doc"))
于 2012-05-05T20:47:25.717 に答える