# 读取数据
data=read.csv("artificial-cover.csv")
# 查看部分数据
head(data)
## tree.cover shurb.grass.cover
## 1 13.2 16.8
## 2 17.2 21.8
## 3 45.4 48.8
## 4 53.6 58.7
## 5 58.5 55.5
## 6 63.3 47.2
#######先调用spline包
library (
splines )
###########用lm拟合,主要注意部分是bs(age,knots=c(...))这部分把自变量分成不同部分
fit =lm(tree.cover~bs(shurb.grass.cover
,knots =c(25 ,40 ,60)
),data=data
)
############进行预测,预测数据也要分区
pred= predict (fit
, newdata =list(shurb.grass.cover
=data$shurb.grass.cover),se=T)
#############然后画图
plot(fit)
# 可以构造一个相对复杂的 LOWESS 模型(span参数取小一些),然后和一个简单的模型比较,如:
'ggplot2' was built under R version 3.3.3
## `geom_smooth()` using method = 'loess'
# 其他数据
data=data[,1:4]
head(data)
## year Soil vegetation SEM
## 1 1999 -3.483724 -2.528836 2.681003
## 2 1999 -3.452582 -2.418049 2.348640
## 3 1999 -3.350827 -2.590552 2.696037
## 4 1999 -3.740395 -2.933848 3.627112
## 5 1999 -3.465906 -2.694211 2.333755
## 6 1999 -3.381802 -2.788154 2.656276
#####因变量 Soil
#######先调用spline包
library (
splines )
###########用lm拟合,主要注意部分是bs(age,knots=c(...))这部分把自变量分成不同部分
#############然后画图
plot(fit)
# 可以构造一个相对复杂的 LOWESS 模型(span参数取小一些),然后和一个简单的模型比较,如:
library(ggplot2)
## `geom_smooth()` using method = 'loess'
# 总趋势
# 按0前后分组
#####因变量 SEM
#######先调用spline包
library (
splines )
###########用lm拟合,主要注意部分是bs(age,knots=c(...))这部分把自变量分成不同部分
fit =lm(SEM~bs(vegetation
,knots =c(-2 ,0 ,1)
),data=data
)
############进行预测,预测数据也要分区
pred= predict (fit
, newdata =list(vegetation
=data$vegetation),se=T)
#############然后画图
plot(fit)
# 可以构造一个相对复杂的 LOWESS 模型(span参数取小一些),然后和一个简单的模型比较,如:
x<-data$vegetation
y<-data$SEM
# 总趋势
## `geom_smooth()` using method = 'loess'