From: Robert Burrows <rbb_at_nebiometrics.com>

Date: Wed 14 Dec 2005 - 03:53:00 EST

Date: Wed 14 Dec 2005 - 03:53:00 EST

On Tue, 13 Dec 2005, Oarabile Molaodi wrote:

> I'm trying to write a function that takes a vector of length n and then

*> takes the first value of the vector i.e j=1 and forms a new vector of
**> length n (i.e replicate the first value n times). This function will
**> then calculate the absoulte difference of the original vector and the
**> new vector and store the results omitting the difference between the
**> value and itself. This function should be able to repeat the procedure
**> for each of the j's i.e j=2 to n. The results should all be stored
**> together. Below is what I've tried so far but it seems to work only for
**> j=1 .
**>
**> Your help will be highly appreciated.
**> IED<-function(risk){
**> n<-length(risk)
**> i<-c(1:n)
**> Diff<-numeric()
**> for(j in 1:n){
**> relrisk<-risk
**> relrisk[i]<-relrisk[j]
**> Difference<-abs(risk-relrisk)
**> Difference<-Difference[-c(1:j)]
**> Difference<-append(Diff,Difference)
**> return(Difference)
**> }
**> }
*

How about

"IED" <-

function(risk){

n<-length(risk)

Diff<-numeric(n)

for(j in 1:n){

relrisk<-rep(risk[j],n)

Diff[j]<-sum(abs(risk-relrisk)[-j])

}

Diff

}

-- Robert Burrows, PhD New England Biometrics rbb@nebiometrics.com ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.htmlReceived on Wed Dec 14 05:23:18 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:41:36 EST
*