3

R を使用してレポートを生成しようとしていますが、 knitrRmarkdownpander 、およびレポートのさまざまな組み合わせで混乱した後、panderを使用することに決めたと思います。

現在、次の 2 つのファイルがあります。

レポートの構造を含む「ReportIntro.brew」

# My Report Title 
## Sample Information
#### <%=set.alignment('left') ; as.character(info[1,1])%>
<%=set.alignment('left') ; info[2:8,1:2]%>

レポートに必要な data.frame 'info' を作成するための 'Report.R'

library(pander) ; library(xlsx)
info=read.xlsx(file="info.xlsx", sheetName="info", header=FALSE)
Pandoc.brew(file="ReportIntro.brew", output=tempfile(), convert="docx")  

これで、テーブルを含む最初の Word 文書ができました。ただし、不要な行名と列名が含まれています。pander と Knitr を使用したテーブルの生成に関するブログを見つけ、設定を提案しました

row.names(info) <- NULL

しかし、これは効果がありませんでした。

使ってみたら

print(info[2:8,1:2], include.rownames=FALSE)

また

print(xtable(info[2:8,1:2]), type="html", include.rownames=FALSE)

xtable を使用して行名を削除することに関する別の投稿で提案されているように、テーブルは Word ドキュメントにまったく表示されません。

では、行名を表示せずにテーブルを取得するにはどうすればよいですか?

(これは私の最初の投稿なので、要件に合っていることを願っています!)

編集: これは dput(info) の結果です

> dput(info)
structure(list(X1 = c("School Information", "Name", "Type", "DfE number", 
"URN", "DfE link", "Dashboard Report", "Ofsted link", "Test Information", 
"Test Date", "Comments", "Analysis comments", "Sample Size", 
"Year group", "All", "11", "11"), X2 = c(NA, NA, "Primary, Academy, Prep, Middle etc", 
NA, "Enter school URN here", "http://www.education.gov.uk/", 
"http://dashboard.ofsted.gov.uk/", "http://www.ofsted.gov.uk", 
NA, NA, NA, NA, NA, "Set", "All", "top", "middle"), X3 = c(NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "M", "408", "165", 
"243"), X4 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, "F", "402", "145", "257"), X5 = c(NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, "Total", "810", "310", "500")), .Names = c("X1", 
"X2", "X3", "X4", "X5"), row.names = c(NA, 17L), class = "data.frame")
4

1 に答える 1

7

私はpanderそれを試してくれてありがとう、@Jerubaalの作者です。infoあなたの手順を再現できるように、の結果を投稿することもできれば素晴らしいことdput(info)ですが、今見る限り、回避策は最初にそのサブセットをinfo新しい変数に保存してから、その新しいオブジェクトを返すことですチャンクで。

詳細:から行数までのシーケンスのように、それらが些細な場合はpander抑制します。のサブセットを返す場合、この基本的なスケジュールに適合しないオブジェクトを返します。ただし、新しい を作成すると、自動でから まで開始されます。row.names1data.framerow.namesdata.framerow.names1nrow

pander簡単なデモ (とにかく、各チャンクで自動的に実行されることに注意してください):

> library(pander)
> pander(iris[2:3, 1:3])

---------------------------------------------------
&nbsp;   Sepal.Length   Sepal.Width   Petal.Length 
------- -------------- ------------- --------------
 **2**       4.9             3            1.4      

 **3**       4.7            3.2           1.3      
---------------------------------------------------

> x <- iris[2:3, 1:3]
> pander(x)

---------------------------------------------------
&nbsp;   Sepal.Length   Sepal.Width   Petal.Length 
------- -------------- ------------- --------------
 **2**       4.9             3            1.4      

 **3**       4.7            3.2           1.3      
---------------------------------------------------

> row.names(x) <- NULL
> pander(x)

-------------------------------------------
 Sepal.Length   Sepal.Width   Petal.Length 
-------------- ------------- --------------
     4.9             3            1.4      

     4.7            3.2           1.3      
-------------------------------------------

更新info: 提供されたデータセットを使用したデモ

> x <- info[2:8,1:2]
> pander(x)

--------------------------------------------------------
&nbsp;         X1                      X2               
------- ---------------- -------------------------------
 **2**        Name                                      

 **3**        Type           Primary, Academy, Prep,    
                                   Middle etc           

 **4**     DfE number                                   

 **5**        URN             Enter school URN here     

 **6**      DfE link      http://www.education.gov.uk/  

 **7**  Dashboard Report http://dashboard.ofsted.gov.uk/

 **8**    Ofsted link       http://www.ofsted.gov.uk    
--------------------------------------------------------

> row.names(x) <- NULL
> pander(x)

------------------------------------------------
       X1                      X2               
---------------- -------------------------------
      Name                                      

      Type           Primary, Academy, Prep,    
                           Middle etc           

   DfE number                                   

      URN             Enter school URN here     

    DfE link      http://www.education.gov.uk/  

Dashboard Report http://dashboard.ofsted.gov.uk/

  Ofsted link       http://www.ofsted.gov.uk    
------------------------------------------------
于 2014-01-09T12:49:42.427 に答える