2017-05-09 1 views
1

Ich versuche ein reproduzierbares "Data Dictionary" in RMarkdown zu erstellen, um meine Arbeit bei der Beschreibung der verschiedenen undokumentierten Datensätze, mit denen ich arbeite, zu erleichtern. Ich habe den am meisten verwandten Beitrag hier angesehen: Programmatically insert text, headers and lists with R markdown, aber ich habe Probleme. Ich habe einen data.frame, der die Spaltennamen aus meinem Dataset und eine Spalte mit Strings enthält, die jede Variable beschreiben. Wenn ich mein RMarkdown-Dokument stricke, bekomme ich einen formatierten Header für die erste Variable und der Rest erscheint mit den Formatierungs-Hash-Zeichen (##) und dem Variablennamen, aber nicht als formatierter Header.Header und Text programmatisch aus einem data.frame einfügen

```{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") 
} 
``` 

Dies gibt mir Variable "A" ist nur eine formatierte Kopfzeile. Es scheint, dass mein Rookie-Wissen über Funktionen schuld sein könnte, aber ich kann nicht herausfinden, was ich falsch mache.

Meine Ausgabe ist wie folgt (mit A formatiert wird und der Rest nicht formatiert):

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

Jede Beratung wäre sehr dankbar. Ich bin offen für andere Methoden, dies zu tun, wenn sie existieren.

+0

Wo ist Ihr 'for' endet Schleife? – Gopala

+0

Hoppla. Ich habe es hier nicht hinzugefügt. Es endet nach der letzten Katze ("\ n"). Ich werde es aktualisieren. – Aaron

Antwort

0

Versuchen Sie stattdessen:

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") 
} 

Ausgang ist:

## A 
Description: 
A is this. 

## B 
Description: 
B is this. 

## C 
Description: 
C is this. 
+0

Huzzah. Vielen Dank. – Aaron

Verwandte Themen