2017-08-30 89 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(.))) 
    ) 

正如上面的代码所示,我想设置标题类似于“它是表a”,“它是表b”......在数据框被分开之后。如何在数据帧被分割后获取每个数据帧的名称?

+0

您可能需要'format =“latex”' – akrun

回答

2

这是否需要单个%>%管道?否则,你可以很容易地做到这一点在两个步骤:

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

降价表,但是,没有字幕的kable()。使用format="html"format="latex"可以获得支持字幕的输出格式。