2017-05-09 25 views
1

我正在嘗試在RMarkdown中製作一個可重現的「數據字典」以簡化我描述與之合作的各種無證數據集的工作。我看過最相關的帖子:Programmatically insert text, headers and lists with R markdown,但遇到問題。我有一個data.frame,它有我的數據集中的colname和一列描述每個變量的字符串。當我編寫我的RMarkdown文檔時,我得到了一個格式化的頭文件,其餘的格式化頭文件(##)和變量名,但不是格式化頭文件。以編程方式從數據框中插入標題和文本

```{r, results = 'asis'} 
varnames <- c("A", "B", "C") 
vardesc <- c("A is this.", "B is this.", "C is this.") 
df <- data.frame(varnames, vardesc) 

for(i in 1:nrow(df)) { 
cat("##", df$vars[i], " \n") 
cat("Description: ", df$vardesc[i]) 
cat(" \n") 
} 
``` 

這給了我變量「A」只是一個格式化頭。看來我的新手功能知識可能會被指責,但我無法弄清楚我做錯了什麼。

我的輸出如下所示(其中A被格式化,其餘未格式化):

## A 
Description: 
A is this. 
## B 
Description: 
B is this. 
## C 
Description: 
C is this. 

任何意見將不勝感激。如果它們存在,我願意接受其他方法。

+0

哪裏是你的'結束for'循環? – Gopala

+0

糟糕。我沒有在這裏添加它。它在最後一個貓(「\ n」)後結束。我會更新它。 – Aaron

回答

0

試試這個:

varnames <- c("A", "B", "C") 
vardesc <- c("A is this.", "B is this.", "C is this.") 
df <- data.frame(varnames, vardesc, stringsAsFactors = FALSE) 

for(i in 1:nrow(df)) { 
    cat("##", df$varnames[i], "\n") 
    cat("Description:", "\n") 
    cat(df$vardesc[i], "\n") 
    cat("\n") 
} 

輸出是:

## A 
Description: 
A is this. 

## B 
Description: 
B is this. 

## C 
Description: 
C is this. 
+0

Huzzah。謝謝。 – Aaron

相關問題