i have rather long script, @ least me, i'm new in r.
it looks
#data loaded library(xlsx) df=read.xlsx2("/users/emiliemariafalkkallenbach/documents/norsk_institut_for_vandforskning/chase_dk.xlsx",sheetindex=1) df[df==""]<- na df=data.matrix(df) df=data.frame(df) attach(df) phyto=df[,1:6] submerged=df[,7:12] benthic=df[13:18] # phtyoplankton #making of boundaries a<-(ifelse(p_resp<=0,(1-p_acdev),1/(1+p_acdev))) b=(0.95+a)/2 c=2*a-b d=2*c-a #weighted boundaries e=0.95*p_weight e=sum(e) f=b*p_weight f=sum(f) g=a*p_weight g=sum(g) h=c*p_weight g=sum(g) i=d*p_weight i=sum(i) #eqr weighted j=p_eqr*p_weight j=sum(j) #complete l <- ifelse(is.na(rowsums(phyto)),1,0) m=sum(l) #submerged vegetation #overall assesment y=ifelse(m<=0,j,"") z=ifelse(y!="na",0,(ifelse(y>f,1,(ifelse(y>g,2,(ifelse(y>h,3,(ifelse(y>i,4,5))))))))) #making of boundaries a.sub<-(ifelse(s_resp<=0,(1-s_acdev),1/(1+s_acdev))) a.sub=sum(a.sub) b.sub=(0.95+a.sub)/2 b.sub=sum(b.sub) c.sub=2*a.sub-b.sub c.sub=sum(c.sub) d.sub=2*c.sub-a.sub d.sub=sum(d.sub) #weighted boundaries e.sub=0.95*s_weight e.sub=sum(e) f.sub=b.sub*s_weight f.sub=sum(f) g.sub=a.sub*s_weight g.sub=sum(g) h.sub=c.sub*s_weight h.sub=sum(h) i.sub=d.sub*s_weight i.sub=sum(i) #eqr.sub weighted j.sub=s_eqr*s_weight j.sub=sum(j.sub) #complete.sub l.sub <- ifelse(is.na(rowsums(submerged)),1,0) m.sub=sum(l.sub) #overall assesment q.sub=m.sub*0.75 y.sub=ifelse(m.sub<=0,j.sub,"") z.sub=ifelse(y.sub!="na",(ifelse(y.sub>f.sub,1,(ifelse(y.sub>g.sub,2,(ifelse(y.sub>h.sub,3,(ifelse(y.sub>i.sub,4,5)))))))),0) benthic invertebrates #making of boundaries a.ben<-(ifelse(b_resp<=0,(1-b_acdev),1/(1+b_acdev))) b.ben=(0.95+a.ben)/2 c.ben=2*a.ben-b.ben d.ben=2*c.ben-a.ben #weighted boundaries e.ben=0.95*b_weight e.ben=sum(e.ben) f.ben=b.ben*b_weight f.ben=sum(f.ben) g.ben=a.ben*b_weight g.ben=(sum(g.ben)) h.ben=c.ben*b_weight h.ben=sum(h.ben) i.ben=d.ben*b_weight i.ben=sum(i.ben) #eqr weighted j.ben=b_eqr*b_weight #complete l.ben <- ifelse(is.na(rowsums(benthic)),1,0) m.ben=sum(l.sub) #chkaccdev n.ben=ifelse(b_resp>0,0.53,1.1) o.ben=ifelse(b_acdev<0.15,-1,0) p.ben=ifelse(b_acdev>n.ben,1,o.ben) #overall assesment q.ben=m.ben*0.75 y.ben=ifelse(m.ben<1,j.ben,"") z.ben=ifelse(y.ben!="na",ifelse(y.ben>f.ben,1,(ifelse(y.ben>g.ben,2,(ifelse(y.ben>h.ben,3,(ifelse(y.ben>i.ben,4,5))))))),0) #final assesment z=max(na.omit(c(z,z.sub,z.ben))) #overall assesment score=(ifelse(z<=1 && z<2,"high",(ifelse(z>=2 && z<3,"good",(ifelse(z>=3 && z<4,"moderate",(ifelse(z>=4 && z<5,"bad",(ifelse(z>=5,"poor","na")))))))))) score #pie chart library('plotrix') phyto=33.3 submerged=33.3 benthic=33.3 total=100 slices1=c=(1) total=100 inir=0.2 slices1=c=(1) pie(1, radius=inir, init.angle=90, col=c('white'), border = na, labels='overall') colors=c(ifelse(z<=1,"blue", ifelse(z<=2,"green",ifelse(z<=3,"yellow",ifelse(z<=4,"orange",ifelse(z<=5,"red","red"))))), ifelse(z.sub<=1,"blue", ifelse(z.sub<=2,"green", ifelse(z.sub<=3,"yellow",ifelse(z.sub<=4,"orange",ifelse(z.sub<=5,"red","red"))))),ifelse(z.ben<=1,"blue", ifelse(z.ben<=2,"green", ifelse(z.ben<=3, "yellow", ifelse(z.ben<=4,"orange",ifelse(z.ben<=5,"red","red")))))) floating.pie(0,0,c(phyto, submerged, benthic),radius=5*inir, startpos=pi/2, col=colors,border=na) slices1=c=(1) total=100 inir=0.2 # initial radius colorst=c(ifelse(z<=1,"blue", ifelse(z<=2,"green",ifelse(z<=3,"yellow",ifelse(z<=4,"orange",ifelse(z<=5,"red","red")))))) floating.pie(0,0,c(total),radius=3*inir, startpos=pi/2, col=colorst,border=na) angles=as.numeric(c(-10,75,80)) pie.labels(0,0,angles,c("phyto","submerged","benthic"),radius=1, bg="white") pie.labels(0,0,0,c("overall assessment"),radius=-0.3) i guess not matter, script. @ moment runs first sheet in excel, have several , run them on of them.
the outcome should table looking
z z.sub z.ben z pie-chart (only if possible) sheet 1 0 na na high sheet 2 ... ... ... ... sheet 3 ... ... ... ... i'm sorry if ordinary question!
hope able
thanks!
a better way read xls library readxl.
# remove "#" if don't have these libraries installed # install.packages("readxl") # faster excel reader # install.packages("data.table") # faster everything, in case rbindlist library(readxl) library(data.table) sheets = 1:5 # index numbers or names of sheets want read readmysheets = function(sheets) { df = read_excel(file="myexcel.xls", sheets) } myfiles = lapply(sheets, readmysheets) # apply indices/names on readmysheets function # have list: str(myfiles) # bind separate sheets together = rbindlist(myfiles, fill = t)
Comments
Post a Comment