R語言數(shù)據(jù)和統(tǒng)計結(jié)果怎么更友好顯示并輸出到word

1. 軟件包介紹: xtable和flextable

這個軟件包, 主要是可以將R的對象生產(chǎn)Latex和html的格式,但是對于輸出word和直接在R中顯示支持不夠. 這樣就用到到了第二個軟件包: flextable.

flextable有很多功能, 比較好用的是它可以將xtable的格式轉(zhuǎn)化為flextable, 這樣就可以進行圖表的可視化和結(jié)果輸出, 它可以輸出word和PPT格式, 下面以幾個示例進行演示.

2. 軟件安裝

xtable和flextable在CRAN上, 所以通過install.packages直接安裝即可, 安裝代碼如下(去掉注釋#后執(zhí)行代碼)

# install.packages("xtable")
# install.packages("flextable")

3. 示例演示

3.1 圖表演示

這里, 我們使用一個匯總統(tǒng)計, 結(jié)果包括性狀, 最大值, 最小值, 標準差, 變異系數(shù)等, 結(jié)果是三線表的形式.

library(VSNR)
data(fm)
str(fm)
  TreeID Spacing Rep   Fam Plot    dj    dm    wd h1  h2  h3  h4  h5
1  80001       3   1 70048    1 0.334 0.405 0.358 29 130 239 420 630
2  80002       3   1 70048    2 0.348 0.393 0.365 24 107 242 410 600
3  80004       3   1 70048    4 0.354 0.429 0.379 19  82 180 300 500
4  80005       3   1 70017    1 0.335 0.408 0.363 46 168 301 510 700
5  80008       3   1 70017    4 0.322 0.372 0.332 33 135 271 470 670
6  80026       3   1 70002    2 0.359 0.450 0.392 30 132 258 390 570

生成一個匯總函數(shù)

計算性狀的總個數(shù), 最大值, 最小值, 標準差, 變異系數(shù)等.

func <- function(x)(c(n = length(x),mean=mean(x,na.rm = T),max = max(x,na.rm = T), min = min(x,na.rm = T),sd=sd(x,na.rm = T),cv=sd(x,na.rm = T)/mean(x,na.rm = T)*100))

將數(shù)據(jù)重排melt

因為要分析多個性狀, 這里講性狀放到一列, 使用函數(shù)melt進行重塑數(shù)據(jù).

library(tidyverse)
library(reshape2)
tt = melt(fm,1:5)
head(tt)

這里, 多個性狀dj, dm等性狀, 放到variable一列.

  TreeID Spacing Rep   Fam Plot variable value
1  80001       3   1 70048    1       dj 0.334
2  80002       3   1 70048    2       dj 0.348
3  80004       3   1 70048    4       dj 0.354
4  80005       3   1 70017    1       dj 0.335
5  80008       3   1 70017    4       dj 0.322
6  80026       3   1 70002    2       dj 0.359
a = aggregate(value~variable,tt,func)
re = cbind(type = a$variable,as.data.frame(a$value))
library(xtable)
library(flextable)
m1 = xtable_to_flextable(xtable(re))
m1

效果如下

圖片.png

3.2 方差分析表

mod1 = summary(aov(dj ~ Spacing + Rep + Fam, data=fm))
xtable_to_flextable(xtable(mod1))

3.3 簡單回歸分析

mod2 = summary(lm(h5 ~ dj,fm))
xtable_to_flextable(xtable(mod2))
圖片.png

3.4 多元回歸分析

mod3 = summary(lm(h5 ~ dj+h1 +h2 +h3 +h4,fm))
tt = xtable_to_flextable(xtable(mod3))
tt
圖片.png

4 結(jié)果輸出到word里面

library(officer)
doc = read_docx()
doc = body_add_flextable(doc,tt)
print(doc,"d:/tt.docx")

word中查看結(jié)果

圖片.png

關(guān)注我的公眾號:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 上一章見:第一章 英雄 早上,半睡半醒之間的我,聞到了一股胡辣湯的氣味……然后聽到廚房里發(fā)出叮叮當當?shù)穆曇簟?起床...
    Orange_yang閱讀 276評論 0 0
  • 看完新標日13課,單詞沒背完
    kagami39閱讀 291評論 0 0
  • 初識sql語句 有了mysql這個數(shù)據(jù)庫軟件,就可以將程序員從對數(shù)據(jù)的管理中解脫出來,專注于對程序邏輯的編寫 my...
    牛奶加醋閱讀 849評論 0 1
  • 有些人,不想欠別人的,所以他不需要別人的幫助,如果別人非要幫助了他,若他沒有表示感謝,輿論的指責聲就四面八方的想起...
    郵差在行動閱讀 192評論 0 0

友情鏈接更多精彩內(nèi)容