2016-09-11 9 views
0

library(xlsx)を介して出力がxlsx文書にプッシュされるレポートを作成しています。で、今、すべてのLaTeXで、私は戻ってRにそれを読んで、テーブルのデータがリンクしているシートに書き込んだ後RオブジェクトのLaTeXコードをマークダウンに含めます

```{r import_results, echo = F} 

if(!file.exists("Analysis/results.xlsx")){ 
    wb <- xlsx::createWorkbook(type = "xlsx") 
    sheets <- xlsx::createSheet(wb, "data") 
}else{ 
    wb <- loadWorkbook("Analysis/results.xlsx") 
    sheets <- removeSheet(wb, "data") 
    sheets <- xlsx::createSheet(wb, "data") 
} 
getSheets(wb) 
addDataFrame(sheet = sheets, x = Results1) 
addDataFrame(sheet = sheets, x = Results2, startRow = nrow(Results1)+2) 
addDataFrame(sheet = sheets, x = Results3, startRow = nrow(Results1)+ nrow(Results2) + 4) 

xlsx::saveWorkbook(wb, "Analysis/results.xlsx") 
} 

Excel view :このデータは、特に、出力をフォーマットするLaTeXコードでフォーマットされた表に供給します彼らはLaTeXコードですので、細胞とは本質的に私がcat結果にしたいが、それは、長い文字列としてdata.frameを印刷したとき、私knit

```{r, echo = F, results='asis'} 
wb <- read.xlsx("Analysis/results.xlsx", sheetName = "import", header=F) 
row.names(wb) <-NULL 
wb 
``` 

Output

このクロスプラットフォーム統合を自動化する適切な方法は何ですか?

+1

なぜラテックスをExcelに送りますか?チャンクオプション 'results = 'asis'' – Robert

+0

でコードを出力することができます。テーブルがかなり多次元的なので、これを送ると、現在の' stargazer'と 'xtable'パッケージは'複数列Excelは自動化プロセスのフォーマットを処理します。 –

答えて

0

私は非常に "単純な"方法で動作する例を得た。私はそれが一番きれいなコードだとは思っていませんが、それは私が必要とするもののために働きます。

library(dplyr) 
library(xlsx) 
wb <- read.xlsx("Analysis/results.xlsx", sheetName = "import", header=F, stringsAsFactors = F) 
wb <- mutate_each(wb, funs(replace(., which(is.na(.)), ""))) 

```{r, echo = F, results = 'asis'} 
for(i in 1:nrow(wb)){ 
    cat(unlist(wb[i,]),"\n") 
} 
``` 
関連する問題