[R] Advice - get my function to work with a list

gcam gcam032 at gmail.com
Wed Dec 9 02:07:13 CET 2009


I really need help altering a function I have written.  The function
currently performs a specific task on a dataframe.  I now wish to be able to
use it with a splitting function by either passing it a pre-split dataframe
or by being able to designate the splitting factor.

Can anyone advise?

Here is my function:

attrition<-function(x){
	atr.model<-matrix(nrow=8, ncol=2)
	rownames(atr.model)<-c("Report", "Submission", "Loading", "Link",
"C.P.Link", "C.P.Sub", "Clear", "Performance")
	
	#cases reported
	atr.model["Report", 1]<-Reported[nrow(Reported),2]
	atr.model["Report", 2]<-(atr.model["Report",1]/atr.model["Report",1])*100
	
	#submission rate
	atr.model["Submission",1]<-nrow(x)
	atr.model["Submission", 2]<-(atr.model["Submission", 1]/atr.model["Report",
1])*100
	
	#loading rate
	atr.model["Loading",1]<-sum(x$Loaded.=="Y", x$Loaded.=="PC", na.rm=T)
	atr.model["Loading", 2]<-(atr.model["Loading", 1]/atr.model["Submission",
1])*100
	
	#link rate
	atr.model["Link",1]<-sum(x$Linked.=="Y", na.rm=T)
	atr.model["Link", 2]<-(atr.model["Link", 1]/atr.model["Loading", 1])*100
	
	#C.P
	atr.model["C.P.Link",1]<-sum(x$Link.Type=="C.P", x$Link.Type=="C.C.P",
na.rm=T)
	atr.model["C.P.Link", 2]<-(atr.model["C.P.Link", 1]/atr.model["Link",
1])*100
	
	#C.P/Sub
	atr.model["C.P.Sub", 2]<-(atr.model["C.P.Link", 1]/atr.model["Submission",
1])*100
	
	#clear
	atr.model["Clear", 2]<-100
	
	#Performance
	atr.model["Performance",2]<-prod(atr.model["Submission", 2]/100,
atr.model["Loading", 2]/100, atr.model["C.P.Link", 2]/100,
atr.model["Clear", 2]/100)*100
	
	atr.model[,2]<-round(atr.model[,2], 1)
	
	print(atr.model)
	}

As you can see it works for a dataframe now.  However I wish to build in a
split function or have it be able to deal with a split dataframe in the form
of a list.

Any advise would be fantastic.

Thanks

Gareth Campbell
-- 
View this message in context: http://n4.nabble.com/Advice-get-my-function-to-work-with-a-list-tp955783p955783.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list