如何创建一个如下所示的表:
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
我找到了相关的讨论 this forum但它并没有真正触及它的核心。它将整个事物作为文本而不是选定的项目输出为表格。
任何帮助都会非常感激
P.S。运行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)
答案 0 :(得分: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"))