# [R] loop and sapply problem, help need

From: Ram H. Sharma <sharma.ram.h_at_gmail.com>
Date: Sat, 09 Apr 2011 15:30:36 -0400

Sorry for this question

M1 <- 1:10

```lcd1 <- c(11, 22, 33, 44, 11, 22, 33, 33, 22, 11)
lcd2 <- c(22, 11, 44, 11, 33, 11, 22, 22, 11, 22)
lcd3 <- c(12, 12, 34, 14, 13, 12, 23, 23, 12, 12)

```

#generating variables through sampling
pvec <- c("PR1", "PR2", "PR3", "PR4", "PR5", "PR6", "PR7", "PR8", "PR9", "PR10")
fun11 <- function(x){
smpool <- c(1,2,3,3)
x <- sample(smpool, 10, replace= TRUE)   }
newd <- sapply (pvec, fun11)

# function to recode this new generated data
fun3 <- function(x) {

```       (if ( x ==1){
x = lcd1
}else  if (x ==2){
x = lcd2
}  else if ( x ==3 ){
x = lcd3
} else x = NA )
return(x)
}
```

Applying the function:
pn <- sapply (newd, fun3)

I am getting 10 x 100 matrix, in contrast to 10 x 10 what I am expecting !

My objective here is to replace data points in all variables in newd with corresponding value with values vector lcd1 or lcd2 or lcd3 depending upon whether they are 1 or 2 or 3.
For example;

```lcd1 <-   c(11, 22, 33, 44, 11, 22, 33, 33, 22, 11)
lcd2 <-   c(22, 11, 44, 11, 33, 11, 22, 22, 11, 22)
lcd3 <-   c(12, 12, 34, 14, 13, 12, 23, 23, 12, 12)

```

PR1 <- c(1, 2, 3, 2, 1, 1, 1, 2, 3, 1)

with the new
PR1n <- c(11, 11, 34, 11, 11, 22, 33, 22, 12, 11)
# as the first element of this vector is determined by PR1 indicator
determines whether to pick lcd1 or lcd2 or lcd3 element similarly for PR1 indicator whether to pick lcd1 or lcd2 or lcd3 element

The same process need to be continued other PR2 to PR10 variables. That's why I attempted to use sapply.

```--

Ram H

[[alternative HTML version deleted]]

______________________________________________
R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help