获取要传递到R(ggplot2)中函数的变量

获取要传递到R(ggplot2)中函数的变量,r,function,variables,ggplot2,R,Function,Variables,Ggplot2,我试图在数据框中的两列数据之间绘制一个称为“final”的图表。我希望p值和r^2值显示在图表上 我正在使用这个函数和代码,但它给了我一个错误“找不到y值” 库(ggplot2) lm_eqn当调用函数生成输出图时,必须使用相同的函数。。。在你的绘图中的变量。稍微简化功能后,现在应该可以工作了 library(stats) library(ggplot2) lm_eqn <- function(x, y){ m <- lm(y ~ x) outp

我试图在数据框中的两列数据之间绘制一个称为“final”的图表。我希望p值和r^2值显示在图表上

我正在使用这个函数和代码,但它给了我一个错误“找不到y值”

库(ggplot2)

lm_eqn当调用函数生成输出图时,必须使用相同的函数。。。在你的绘图中的变量。稍微简化功能后,现在应该可以工作了

   library(stats)
   library(ggplot2)
   lm_eqn <- function(x, y){
     m <- lm(y ~ x)
     output <- paste("r.squared = ", round(summary(m)$adj.r.squared, digits = 4), " | p.value = ", formatC(summary(m)$coefficients[8], format = "e", digits = 4))
     return(output)
   }
   x <-c(1,2,5,2,3,6,7,0)
   y <-c(2,3,5,9,8,3,3,1)
   final <- data_frame(x,y)

   output_plot <- lm_eqn(x, y)

   p1 <- ggplot(final, aes(x=x, y= y)) + geom_point() + geom_smooth(method=lm, se=FALSE) + labs(x = "x", y = "y") + ggtitle("CD8 v/s CTLA-4", subtitle = paste("Linear Regression of Expression |", output_plot)) 
库(stats)
图书馆(GG2)

谢谢你,这很管用!!但是我有多个图表要用我的数据框中的不同列来制作,为什么当我使用这个函数时,所有的图表都会在顶部报告相同的值?请确保您正在调用output\u plot来制作一个人们可以帮助的R问题,包括您数据的代表性样本
   library(stats)
   library(ggplot2)
   lm_eqn <- function(x, y){
     m <- lm(y ~ x)
     output <- paste("r.squared = ", round(summary(m)$adj.r.squared, digits = 4), " | p.value = ", formatC(summary(m)$coefficients[8], format = "e", digits = 4))
     return(output)
   }
   x <-c(1,2,5,2,3,6,7,0)
   y <-c(2,3,5,9,8,3,3,1)
   final <- data_frame(x,y)

   output_plot <- lm_eqn(x, y)

   p1 <- ggplot(final, aes(x=x, y= y)) + geom_point() + geom_smooth(method=lm, se=FALSE) + labs(x = "x", y = "y") + ggtitle("CD8 v/s CTLA-4", subtitle = paste("Linear Regression of Expression |", output_plot))