From: Ram H. Sharma <sharma.ram.h_at_gmail.com>

Date: Sat, 09 Apr 2011 17:27:44 -0400

Date: Sat, 09 Apr 2011 17:27:44 -0400

x <- read.table(textConnection("

mark lcd1 lcd2 lcd3 PR1 PR2 PR3 PR4

1 11 22 12 1 2 3 1

2 33 44 34 1 2 3 1

3 22 44 24 3 1 2 1

4 11 33 13 2 2 1 3

5 22 11 12 3 2 2 1 "), header = TRUE)

I want to do a conditional formatting of PR1:PR4 (in real sense I have

*>20000 such variables) based on corrsponding value in variable column lcd1
*

or lcd2 or lcd3.

mark lcd1 lcd2 lcd3 PR1 PR2 PR3 PR4

1 11 22 12 1 2 3 1 2 33 44 34 1 2 3 1 3 22 44 24 3 1 2 1 4 11 33 13 2 2 1 3 5 22 11 12 3 2 2 1 If PR1 =1, then PR1= lcd1

PR1=2, then PR1 = lcd2

PR1=3, then PR1 = lcd3

similarly for PR2...................to end of files PR4

#Expected Output

mark lcd1 lcd2 lcd3 PR1 PR2 PR3 PR4

1 11 22 12 11 22 12 11

2 33 44 34 33 44 34 33

3 22 44 24 24 22 44 22

4 11 33 13 33 33 11 13

5 22 11 12 12 11 11 22

Thank you;

Ram H

On Sat, Apr 9, 2011 at 4:13 PM, Phil Spector <spector_at_stat.berkeley.edu>wrote:

*> Ram -
*

> I think you'll have to explain what you're trying to do.

*> First, you're creating a 10x10 matrix newd, which could
**> be done a bit more efficiently by using
**>
**> newd = matrix(sample(c(1,2,3,3,),10*length(pvec),replace=TRUE),ncol=10)
**>
**> Notice that calling sapply on a matrix applies the function to each
**> element of the matrix.
**>
**> But your fun3 function really doesn't make sense, since you are testing
**> each scalar element for equality to a scalar, and then setting
**> it equal to a vector. It seems to me that what you're trying to do is
**>
**>
**> smpool = c(1,2,3,3)
**> allvals = rbind(lcd1,lcd2,lcd3)
**> pn = replicate(10,allvals[sample(smpool,1),])
**>
**> but I can't be sure.
**> - Phil Spector
**> Statistical Computing Facility
**> Department of Statistics
**> UC Berkeley
**> spector_at_stat.berkeley.edu
**>
**>
**>
**> On Sat, 9 Apr 2011, Ram H. Sharma wrote:
**>
**> Dear R experts
**>>
**>> 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[1] indicator
**>> determines whether to pick lcd1[1] or lcd2[1] or lcd3[1] element
**>> similarly for PR1[2] indicator whether to pick lcd1[2] or lcd2[2] or
**>> lcd3[2]
**>> element
**>>
**>> The same process need to be continued other PR2 to PR10 variables. That's
**>> why I attempted to use sapply.
**>>
**>> Thank you for your help
**>>
**>>
**>> --
**>>
**>> Ram H
**>>
**>> [[alternative HTML version deleted]]
**>>
**>> ______________________________________________
**>> R-help_at_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.
**>>
**>>
*

-- Ram H [[alternative HTML version deleted]] ______________________________________________ R-help_at_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.Received on Sat 09 Apr 2011 - 21:33:55 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Sun 10 Apr 2011 - 01:40:29 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*