2017-08-30 4 views
1
library(dplyr) 
library(purrr) 
library(knitr) 
df <- tibble(
    letter = sample(letters[1:10], 100, replace = TRUE), 
    nums = rep(1:10, 10), 
    a = rnorm(100), 
    b = rnorm(100), 
    c = rnorm(100), 
    d = rnorm(100) 
) 

df %>% 
    split(.$letter) %>% 
    map(~ group_by(., nums) %>% 
     summarise(a = sum(a)) %>% 
     kable(caption = paste("it is table", substitute(.))) 
    ) 

Wie der Code oben zeigt, möchte ich die Überschrift so etwas wie "es ist Tabelle a", "es ist Tabelle b" ... nach dem Datatframe wurde aufgeteilt.Wie erhält man den Namen jedes Datenrahmens, nachdem der Datenrahmen aufgeteilt wurde?

+0

Sie müssen 'format =" latex "' – akrun

Antwort

2

Muss dies eine einzige %>% Pipeline sein? Ansonsten können Sie diese leicht in zwei Schritten tun:

summarized <- df %>% 
    split(.$letter) %>% 
    map(~ group_by(., nums) %>% 
     summarise(a = sum(a))) 

lapply(names(summarized), function(letter)  
    kable(summarized[letter], caption = paste("it is table", letter))) 

Markdown-Tabellen, aber nicht haben Bildunterschriften in kable(). Verwenden Sie format="html" oder format="latex", um ein Ausgabeformat zu erhalten, das Beschriftungen unterstützt.

Verwandte Themen