f<- function(x){
return( 5*x+1)
}
x<-c(0,10)
df<-data.frame(x)
library(ggplot2)
ggplot()+ stat_function(data=df,aes(x),fun=f)

f<- function(x){
return( x^2)
}
x<-c(0,10)
df<-data.frame(x)
ggplot()+ stat_function(data=df,aes(x),fun=f)

x<-c(-10,10)
df<-data.frame(x)
ggplot()+ stat_function(data=df,aes(x),fun=f)

g<-function(x){
return( x^4+x*5-x^3 + 6)
}
x<-c(-10,10)
df<-data.frame(x)
ggplot()+ stat_function(data=df,aes(x),fun=g)

library(readxl)
data <- read_excel("E:/Dat.xlsx")
head(data)
## # A tibble: 6 x 2
## x y
## <dbl> <dbl>
## 1 7.29 172
## 2 7.75 181
## 3 0.443 - 5.52
## 4 4.93 69.5
## 5 6.48 140
## 6 4.26 37.7
lm(y~ x,data=data)
##
## Call:
## lm(formula = y ~ x, data = data)
##
## Coefficients:
## (Intercept) x
## -65.27 34.04
func<-function(x){
return( 34.04 *x -65.27)
}
ggplot()+geom_point(data=data, aes(x=x,y=y))

ggplot()+geom_point(data=data, aes(x=x,y=y,color=x))+
stat_function(data=data,aes(x=x,y=y),fun=func)

x<-data$x
y<- func(x)
y
## [1] 183.017996 198.680262 -50.190997 102.453808 155.181896
## [6] 79.835553 -14.840886 129.344085 206.040588 125.730367
## [11] 98.186147 247.953248 53.748279 224.024462 17.753870
## [16] 82.017102 -42.685811 54.621986 199.921744 98.887872
## [21] 111.785450 348.321332 107.842928 209.686537 111.997372
## [26] 42.755832 253.227841 -33.284945 230.678315 139.915572
## [31] 95.772879 289.188573 67.183634 82.810711 86.258166
## [36] 91.751961 -37.868214 227.614523 144.874525 248.386180
## [41] 204.995682 224.090653 -5.634698 275.313274 113.971390
## [46] 7.616998 28.580879 315.484371 -16.801985 216.182908
## [51] 152.635419 115.444534 -10.212360 137.218084 42.115391
## [56] 115.160108 19.115035 -32.021312 -131.686024 170.188067
## [61] 114.649677 84.804949 40.380331 -13.444215 87.512255
## [66] 19.289915 188.504211 107.813977 315.318291 5.020226
## [71] 149.642463 6.333776 -30.763066 81.878616 194.605480
## [76] 82.649205 160.817727 -14.794046 223.851318 388.863837
## [81] 170.387831 77.443230 -78.456551 -31.182105 99.069551
## [86] 158.962366 314.471158 15.493468 -45.920395 212.157826
## [91] 153.389390 116.422444 157.809290 114.110502 -17.207398
## [96] 90.008751 307.233446 151.700308 81.374193 80.942225
means<-data.frame(x,y)
ggplot()+geom_point(data=data, aes(x=x,y=y,color=x))+
stat_function(data=data,aes(x=x,y=y),fun=func)+
geom_point(data=means,aes(x=x,y=y),color='red',size=1)

data$group<-1:100
means$group<-1:100
newdata<-rbind(data, means)
head(newdata)
## # A tibble: 6 x 3
## x y group
## <dbl> <dbl> <int>
## 1 7.29 172 1
## 2 7.75 181 2
## 3 0.443 - 5.52 3
## 4 4.93 69.5 4
## 5 6.48 140 5
## 6 4.26 37.7 6
ggplot()+geom_point(data=data, aes(x=x,y=y,color=x))+
stat_function(data=data,aes(x=x,y=y),fun=func)+
geom_point(data=means,aes(x=x,y=y),color='red',size=1)+
geom_line(data=newdata,aes(x=x,y=y,group=group))

sum((data$y-means$y)^2)
## [1] 158423.5
lm(y~x +I(x^2))
##
## Call:
## lm(formula = y ~ x + I(x^2))
##
## Coefficients:
## (Intercept) x I(x^2)
## -6.527e+01 3.404e+01 3.904e-17
fn<-function(x){
return(3.904e-17 *x^2 +3.404e+01*x-6.527e+01)
}
ggplot()+geom_point(data=data, aes(x=x,y=y,color=x))+
stat_function(data=data.frame(x=c(-5,20)),aes(x=x),fun=fn)
