2016-05-21 49 views
0

我試圖使用內聯代碼讓我的樣本大小顯示在我的圖標中,這樣我就可以避免每次使用時忘記更新(N = 128)的錯誤這段代碼塊。目前R不承認內嵌代碼「(N = r nrow(df))」,我想在我的代碼的最後一行使用。我如何在ggtitle中使用rmarkdown內嵌代碼

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)" 
相關問題