Skip to content

Separate Array Variable Content

4 messages · Rantony, ilai, arun +1 more

#
Hi,

I am new in R,

i have a matrix like this

MyMatrix <-
*ABC   PQR    XYZ*
10       20        30
40       50        60
70       80        90

And, i have an array containing some conditions like this,
MyArray <-  c("*ABC*>50","*PQR*<50","*ABC*<30 &* XYZ*<40")

"ABC>50" 
"PQR<50"
"ABC<30 & XYZ<40"

My purpose what is, i need to check this conditions in *MyArray* with
*MyMatrix* value for particular column

How it is possible ? 

- Thanks
Antony.

--
View this message in context: http://r.789695.n4.nabble.com/Separate-Array-Variable-Content-tp4631800.html
Sent from the R help mailing list archive at Nabble.com.
#
HI Antony,

I am not sure how you want the result.

Is it something like this?? Also, do you have lots of conditions in the array?
? ABC PQR XYZ ELIGIBLE_ABC ELIGIBLE_PQR ELIGIBLE_ABC_XYZ
1? 10? 20? 30?????????????????????????????????????????????????????????????????????? TRUE
2? 40? 50? 60?????????????????????????????????????????? 
3? 70? 80? 90???????? TRUE???????????? TRUE???????????????? 



A.K.



----- Original Message -----
From: Rantony <antony.akkara at ge.com>
To: r-help at r-project.org
Cc: 
Sent: Wednesday, May 30, 2012 2:44 AM
Subject: [R] Separate Array Variable Content

Hi,

I am new in R,

i have a matrix like this

MyMatrix <-
*ABC?  PQR? ? XYZ*
10? ? ?  20? ? ? ? 30
40? ? ?  50? ? ? ? 60
70? ? ?  80? ? ? ? 90

And, i have an array containing some conditions like this,
MyArray <-? c("*ABC*>50","*PQR*<50","*ABC*<30 &* XYZ*<40")

"ABC>50" 
"PQR<50"
"ABC<30 & XYZ<40"

My purpose what is, i need to check this conditions in *MyArray* with
*MyMatrix* value for particular column

How it is possible ? 

- Thanks
Antony.

--
View this message in context: http://r.789695.n4.nabble.com/Separate-Array-Variable-Content-tp4631800.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.
#
On May 30, 2012, at 1:04 PM, ilai wrote:

            
Here's another approach. It involves creating an expression vector and  
then evaluating on a named list argument:

 > exprvec <- expression(ABC > 50, PQR < 50, ABC < 30 & XYZ < 40)
 > (MyVals2 <- list(ABC =c(10, 20, 30), PQR =c(40, 50, 60), XYZ=c( 70,  
80, 90)) )
$ABC
[1] 10 20 30

$PQR
[1] 40 50 60

$XYZ
[1] 70 80 90

 > sapply(exprvec, function(ep) with(MyVals2, eval(ep )) )
       [,1]  [,2]  [,3]
[1,] FALSE  TRUE FALSE
[2,] FALSE FALSE FALSE
[3,] FALSE FALSE FALSE

There can be problems with using `with` inside functions and I'm not  
smart enough to know why I'm able to get away with it here.