On Jan 4, 2011, at 1:00 AM, ADias wrote:


Hi,

I am having a problem in doing something similar to this example:

Suppose I have this vector a, and from it I wish to create 5 other vector
each one with less one value than what object a has

So I have "a"
a<-c(1,2,3,4,5)

and I want

a1 that shoud have (2,3,4,5)
a2 that should have (1,3,4,5)
a3 that should have (1,2,4,5)
a4 that should have (1,2,3,5)
a5 that should have (1,2,3,4)

I have tried like this but with no luck

For ( i in 1:5) {
a<-c(1,2,3,4,5)
a((i)<-a[-i]
}

Is there a way to do this?

Dan showed you a method using assign (since that is what is needed for what you asked for) but you would get a more flexible result if you used a structure that could be easily indexed such as a matrix or list:
> A <- sapply(1:5, function(i) a[-i])
> colnames(A) <- paste("a", 1:5, sep="")
> A
     a1 a2 a3 a4 a5
[1,]  2  1  1  1  1
[2,]  3  3  2  2  2
[3,]  4  4  4  3  3
[4,]  5  5  5  5  4

So:
> A[ ,"a1"]
[1] 2 3 4 5



--

David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to