Sunday, January 15, 2012

R: non-linear regression with nls


dir_degree<-read.table("/home/bliss/Study/Bauman/Magistr&Disser/Data/degrees_undir",sep='\t')
dir_degree<-as.data.frame(dir_degree)
degrees<-dir_degree$V2
#calculate frequences
distr<-tabulate(degrees)
# sort by frequency
distr<-sort(distr,decreasing=T)
#calculate probabilities
prob<-distr/sum(distr)

attach(as.data.frame(prob))
x<-c(1:length(prob))

#non-linear regression
model<-nls(prob ~ alfa*x^(-gamma), start=list(alfa=-10, gamma=-1/4), algorithm="port", trace=T)

No comments:

Post a Comment