【发布时间】:2017-09-14 19:26:12
【问题描述】:
我需要将相关系数放在闪亮应用的散点图上。以下是我为说明我的问题而制作的示例。相关文本只是没有显示在图上。该复选框似乎没有响应。我花了很长时间试图找出原因,但不能。谁能让我知道我做错了什么?非常感谢您提前。
#--------------------functions------------------------------------------
corr_eqn <- function(x,y, method='pearson', digits = 2) {
corr_coef <- round(cor.test(x, y, method=method)$estimate, digits = digits)
corr_pval <- tryCatch(format(cor.test(x,y, method=method)$p.value,
scientific=TRUE),
error=function(e) NA)
paste(method, 'r = ', corr_coef, ',', 'pval =', corr_pval)
}
sca.plot <- function (cor.coef=TRUE) {
df <- mtcars %>% filter(cyl==4)
p<- df %>%
ggplot(aes(x=hp, y=mpg))+
geom_point()+
geom_smooth()
if (cor.coef) {
p<- p+geom_text(x=0.9*max(mtcars$hp),
y=0.9*max(mtcars$mpg),
label = corr_eqn(df[['hp']],df[['mpg']],
method='spearman'))
}
return (p)
}
#-------------------------ui----------------------------
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
checkboxInput('cor.cplot',
label = h5('Correlation Coefficient'), value = TRUE)
),
mainPanel(
plotOutput('plot')
)
)
)
#---------------------------server---------------------------------
server <- function(input, output) {
output$plot <- renderPlot ({
sca.plot(cor.coef = input$cor.cplot)
})
}
runApp(shinyApp(ui, server))
【问题讨论】: