[R] Filter Dataframe for Alarm for particular column(s).
arun
smartpink111 at yahoo.com
Wed Jul 10 21:02:26 CEST 2013
Hi,
You could try ?data.table() to further increase the speed:
#Same example:
dt2<- data.table(MyDFNew)
system.time(resNew<- dt2[,lapply(.SD,function(x) {x1<-which(c(0,diff(x))<0);x1[length(x1)==0]<-0;x1})][1] )
# user system elapsed
# 0.144 0.004 0.148
resNew
# TNH BIX
#1: 7 2
According to this link (http://stackoverflow.com/questions/9236438/how-do-i-run-apply-on-a-data-table), using for loop should improve the speed
Regarding the use of ts() in this case, I am not very sure.
A.K.
----- Original Message -----
From: R_Antony <antony.akkara at ge.com>
To: r-help at r-project.org
Cc:
Sent: Wednesday, July 10, 2013 1:48 AM
Subject: Re: [R] Filter Dataframe for Alarm for particular column(s).
Hi Arun,
Thanks for the solution it really works !. But how can we avoid even lappy() and sappy().
Actually any way to do with ts() ?
Thanks,
Antony.
From: arun kirshna [via R] [mailto:ml-node+s789695n4670970h8 at n4.nabble.com]
Sent: Saturday, July 06, 2013 12:54 AM
To: Akkara, Antony (GE Power & Water, Non-GE)
Subject: Re: Filter Dataframe for Alarm for particular column(s).
Hi,
May be this helps:
If you had showed your solution, it would be easier to compare.
res<-data.frame(lapply(sapply(MyDF[,c(2,4)],function(x) {x1<-which(c(0,diff(x))<0);x1[length(x1)==0]<-0;x1}),`[`,1))
res
# TNH BIX
#1 3 9
#Speed
set.seed(24)
MyDFNew<- data.frame(TNH=sample(0:1,1e6,replace=TRUE),BIX=sample(0:1,1e6,replace=TRUE))
system.time(res1<-data.frame(lapply(sapply(MyDFNew,function(x) {x1<-which(c(0,diff(x))<0);x1[length(x1)==0]<-0;x1}),`[`,1)))
# user system elapsed
# 0.364 0.000 0.363
res1
# TNH BIX
#1 7 2
MyDFNew[1:10,]
# TNH BIX
#1 0 1
#2 0 0
#3 1 1
#4 1 1
#5 1 0
#6 1 0
#7 0 1
#8 1 1
#9 1 1
#10 0 0
A.K.
Hi,
Hi here i have a dataframe called MyDF.
a<-c(1,1,1,1,1,0,0,0,1,1)
b<-c(1,1,0,1,1,0,0,0,1,1)
c<-c(1,1,1,1,1,1,1,0,1,1)
d<-c(1,1,1,1,1,1,1,1,0,1)
MyDF<-data.frame(DWATT=a,TNH=b,CSGV=c,BIX=d)
My requirement is, here i need a function - to get for a
particular row number(s), when particular column(s) value change from
one-to-zero (for the first change). Suppose there is no change is
happening then it should return "Zero"
For example, Using MyDF,
DWATT TNH CSGV BIX
1 1 1 1
1 1 1 1
1 0 1 1
1 1 1 1
1 1 1 1
0 0 1 1
0 0 1 1
0 0 0 1
1 1 1 0
1 1 1 1
Here i want to know, the row number where TNH-column and BIX-column values change happening from one-to-zero for the first time.
Note:- Suppose there is no change is happening then it should return "Zero"
Answer should be a dataframe with single row.
So here answer should return a dataframe like this.
TNH BIX
---- ------
3 9
i used some ways to get a solution using loops. But there is a bulk files with bulk rows to process.
So performace is most important. Could someone please suggest better ideas ?
Thanks,
Antony.
______________________________________________
[hidden email] 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.
________________________________
If you reply to this email, your message will be added to the discussion below:
http://r.789695.n4.nabble.com/Filter-Dataframe-for-Alarm-for-particular-column-s-tp4670950p4670970.html
To unsubscribe from Filter Dataframe for Alarm for particular column(s)., click here <http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4670950&code=YW50b255LmFra2FyYUBnZS5jb218NDY3MDk1MHwxNTUxOTQzMDI5> .
NAML <http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
--
View this message in context: http://r.789695.n4.nabble.com/Filter-Dataframe-for-Alarm-for-particular-column-s-tp4670950p4671203.html
Sent from the R help mailing list archive at Nabble.com.
[[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.
More information about the R-help
mailing list