Hi,
On Jul 31, 2009, at 12:25 PM, RRRRRRRRRR! wrote:
I have a series of columns that need to be evaluated in various
tables. I
need to apply a function in the following manner
somers2(name1,name2). name1
is a vector of x inputs for the function which correspond to a
vector of y
inputs in name2.
y<-rep(c(3,4,5,8),6)
z<-rep(c(23,24,25,26,27,28),4)
name1<-sprintf("Pred_pres_%s_indpdt[,%s,,]",x,y)
name2<-sprintf("population[,%s]",z)
rank<-function(i,j){
for(i in name1){
for(j in name2){
somers2(i,j)
}}}
You're missing a value for x, so I'm finding it hard to understand
what you're trying to do, exactly. From your double for loop, it seems
like you just want to compute the function over all vals in X, and
each x against all Y.
Does this help?
R> x <- LETTERS[1:3]
R> y <- LETTERS[10:15]
R> all.vals <- expand.grid(x,y, stringsAsFactors=F)
R> all.vals[1:3,]
Var1 Var2
1 A J
2 B J
3 C J
R> ans <- lapply(seq(nrow(all.vals)), function(i) paste(all.vals[i,1],
all.vals[i,2], sep='(*)'))
R> ans[1:3]
[[1]]
[1] "A(*)J"
[[2]]
[1] "B(*)J"
[[3]]
[1] "C(*)J"
-steve
--
Steve Lianoglou
Graduate Student: Computational Systems Biology
| Memorial Sloan-Kettering Cancer Center
| Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact
______________________________________________
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.