2016-05-21 3 views
0

Я пытаюсь получить свой размер выборки, чтобы появиться в заголовке моего сюжета, используя встроенный код, чтобы я мог избежать ошибки забывания обновлять (N = 128) каждый раз, когда я использую этот кусок кода. В настоящее время R не распознает встроенный код "(N = r nrow(df))", который я пытаюсь использовать в последней строке моего кода.Как использовать встроенный код rmarkdown в ggtitle

library(Rmisc) # for summarySE function 

# create descriptive stats for bar plot 
    df <- subset(mtcars, select = c(mpg, cyl)) 
    dfc <- summarySE(df, measurevar = "mpg", groupvars = c("cyl")) 

# bar plot 
ggplot(dfc, aes(x=cyl, y=mpg)) + # insert variables 
     geom_bar(aes(fill=cyl), # essential for bar coloring 
       position=position_dodge(), 
       stat="identity", colour="black", size=0) + 
     geom_errorbar(aes(ymin= mpg - se, ymax= mpg + se), 
        size=.4, width=.1, position=position_dodge(.9)) + 
     ggtitle("(N = `r nrow(df)`)") ### THIS IS THE LINE I WANT TO WORK ### 

Заранее благодарю за любую помощь.

ответ

2

Вы можете сделать это с помощью paste функций, как показано:

n_value <- paste("(N = ", nrow(dat), ")") 
ggtitle(paste0(n_value)) 
+1

Спасибо, это прекрасно! – Joe

0

Ниже будет делать это + дать вам запятая отформатированные числа в случае, если вы идете в тысячи +.

sprintf("(N = %s)", scales::comma(nrow(dat))) 

sprintf("(N = %s)", scales::comma(nrow(ggplot2movies::movies))) 
## [1] "(N = 58,788)" 
Смежные вопросы