[R] Separate Array Variable Content
arun
smartpink111 at yahoo.com
Sun Jun 3 19:24:20 CEST 2012
Hi Antony,
I am sending this message again as it was not yet posted by the rhelp.
One more solution:
dat2<-read.table(text="
ABC PQR XYZ
42 29 22
65 22 78
10 20 30
40 50 60
70 80 90
61 15 24
",sep="",header=T)
exprv <- expression(c( ABC>10 & XYZ <30 & PQR <90,ABC >9 & XYZ <25 & PQR <60,ABC >60 & XYZ <79 & PQR <100))
dat3<-list(ABC=dat2[,1],PQR=dat2[,2],XYZ=dat2[,3])
res1<-sapply(exprv,function(x) with(dat3,eval(x)))
res2<-data.frame("ABC_CHECK"=res1[1:6,],"XYZ_CHECK"=res1[7:12,],"PQR_CHECK"=res1[13:18,])
resultA<-data.frame(dat2,res2)
resultA
ABC PQR XYZ ABC_CHECK XYZ_CHECK PQR_CHECK
1 42 29 22 TRUE TRUE FALSE
2 65 22 78 FALSE FALSE TRUE
3 10 20 30 FALSE FALSE FALSE
4 40 50 60 FALSE FALSE FALSE
5 70 80 90 FALSE FALSE FALSE
6 61 15 24 TRUE TRUE TRUE
# which is the same as the one below.
A.K.
----- Original Message -----
From: arun <smartpink111 at yahoo.com>
To: "Akkara, Antony (GE Energy, Non-GE)" <Antony.Akkara at ge.com>
Cc: R help <r-help at r-project.org>
Sent: Friday, June 1, 2012 7:21 PM
Subject: Re: [R] Separate Array Variable Content
Hi Antony,
I guess I understood the format you needed. I assume that there are only few conditions in the second matrix.
Based on the information given, I would do:
dat1<-read.table(text="
ABC PQR XYZ
42 29 22
65 22 78
10 20 30
40 50 60
70 80 90
61 15 24
",sep="",header=T)
#I added some more datapoints
dat1[dat1$ABC > 10 & dat1$XYZ < 30 & dat1$PQR < 90,"ABC_CHECK"]<-TRUE
dat1[dat1$ABC > 9 & dat1$XYZ < 25 & dat1$PQR < 60,"XYZ_CHECK"]<-TRUE
dat1[dat1$ABC > 60 & dat1$XYZ < 79 & dat1$PQR < 100,"PQR_CHECK"]<-TRUE
dat1[is.na(dat1)]<-"FALSE"
> dat1
ABC PQR XYZ ABC_CHECK XYZ_CHECK PQR_CHECK
1 42 29 22 TRUE TRUE FALSE
2 65 22 78 FALSE FALSE TRUE
3 10 20 30 FALSE FALSE FALSE
4 40 50 60 FALSE FALSE FALSE
5 70 80 90 FALSE FALSE FALSE
6 61 15 24 TRUE TRUE TRUE
#if your data is in matrix format, convert it to dataframe.
dat1<-as.matrix(dat1)
dat1<-data.frame(dat1)
I hope this helps.
A.K.
----- Original Message -----
From: "Akkara, Antony (GE Energy, Non-GE)" <Antony.Akkara at ge.com>
To: arun <smartpink111 at yahoo.com>
Cc:
Sent: Friday, June 1, 2012 2:15 AM
Subject: RE: [R] Separate Array Variable Content
Hi Arun,
What you showed, same like I am also expecting.
There is two matrix,
1) 1st - matrix contain values like this,
ABC XYZ PQR ABC_CHECK XYZ_CHECK PQR_CHECK
---- ---- ---- ---------------- -------------- -----------------
10 20 30
40 50 60
70 80 90
2)2nd matrix have some conditions, need to check with 1st matrix columns. Like this,
CHECK FOR CONDITION
-------------- -----------------
ABC_CHECK ABC > 10 & XYZ < 30 & PQR <90
XYZ_CHECK ABC > 9 & XYZ < 25 & PQR <60
PQR_CHECK ABC > 60 & XYZ < 79 & PQR <100
So,
Finally the result should get like this,
ABC XYZ PQR ABC_CHECK XYZ_CHECK PQR_CHECK
---- ---- ---- ---------------- -------------- -----------------
10 20 30 FALSE TRUE FALSE
40 50 60 FALSE FALSE FALSE
70 80 90 FALSE FALSE TRUE
And can please tell me which is the best way to do this ?, Can we do this with-out loop ?
- Thanks
Antony.
-----Original Message-----
From: arun [mailto:smartpink111 at yahoo.com]
Sent: Wednesday, May 30, 2012 10:43 PM
To: Akkara, Antony (GE Energy, Non-GE)
Cc: R help
Subject: Re: [R] Separate Array Variable Content
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?
> Mydat2
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.
More information about the R-help
mailing list