R 直径分布拟合代码:
setwd("E:/森林经理/论文/R 代码")
data<-read.delim("数据 2017.9.14.txt",head=T)
library(plyr)
number_class<-ddply(data,c("Plot","SizeClass"),summarise,NumberClass=length(Tree))
number_plot<-ddply(data, "Plot",summarise,NumberPlot=length(Tree))
final<-merge(number_class,number_plot,by="Plot")
final$W<-rep(2,nrow(final))
my.fit<-nls(NumberClass~NumberPlot*W*(c/b)*(((SizeClass-a)/b)^(c-1))*exp(-(((SizeClass-a)/b)^c)
),data=final,start=c(a= 2.90716745902645,b= 8.90574597557007,c= 0.98000185091875))
write.table(final,"求初值数据集.txt",sep=" ",row.names=F) #写出数据
执行操作就是“Enter”
评论1