如何使用R中的gWidget渲染打印?

时间:2013-06-24 14:05:45

标签: r rendering gwidgets shiny

我正在尝试使用gWidgets显示结果摘要,但我找不到可以轻松完成工作的小部件。

例如,

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)
lm.D9 <- lm(weight ~ group)

我想要一个打印summary(lm.D9)的窗口或文本框。如下:

Call:
lm(formula = weight ~ group)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.0710 -0.4938  0.0685  0.2462  1.3690 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   5.0320     0.2202  22.850 9.55e-15 ***
groupTrt     -0.3710     0.3114  -1.191    0.249    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.6964 on 18 degrees of freedom
Multiple R-squared: 0.07308,    Adjusted R-squared: 0.02158 
F-statistic: 1.419 on 1 and 18 DF,  p-value: 0.249

使用renderPrintverbatimTextOutput可以轻松完成此操作。我希望gWidgets中还有一些内容。

相关问题,我可以使用capture.output将摘要写入文本文件。如果有一个小部件可以打开文本文件并在用户界面中显示内容,那将会很有帮助。

2 个答案:

答案 0 :(得分:3)

使用gtextcapture.output

out <- paste(capture.output(summary(lm.D9)), collapse="\n")
w <- gwindow()
txt <- gtext(out, cont=w, font.attr=c(family="monospace"))

答案 1 :(得分:1)

您可以使用glabel例如:

win <- gwindow("Summary regression", visible=TRUE)
group <- ggroup(horizontal = FALSE, container=win)
obj <- glabel(as.character(summary(lm.D9)), 
         container=group, font.attr=list(style="bold"))

enter image description here

结果并不那么美好,但我认为这是一个好的开始......