[R] Stop on fail using data manipulation

arun smartpink111 at yahoo.com
Mon May 27 18:58:15 CEST 2013


I have a doubt about your New table especially the 3rd row:
Since after "test1" , the test fails, i guess 4,5 should  be NA
dat1<-read.table(text="
Device,first_failing_test,test1,test2,test3,test4,test5
1,test2,1,2,3,4,5
2,test4,2,3,4,5,6
3,test1,3,4,5,6,7
",sep=",",header=TRUE,stringsAsFactors=FALSE)

res<-do.call(rbind,lapply(seq_len(nrow(dat1)),function(i) {indx<-colnames(dat1[i,])[-c(1:2)]%in% dat1[i,2]; indx1<- indx[-length(indx)];dat1[i,-c(1:2)][as.logical(cumsum(c(FALSE,indx1)))]<-NA; dat1[i,] }))
 res
#  Device first_failing_test test1 test2 test3 test4 test5
#1      1              test2     1     2    NA    NA    NA
#2      2              test4     2     3     4     5    NA
#3      3              test1     3    NA    NA    NA    NA
A.K.

----- Original Message -----
From: Ala' Jaouni <ajaouni at gmail.com>
To: r-help at r-project.org
Cc: 
Sent: Monday, May 27, 2013 10:40 AM
Subject: [R] Stop on fail using data manipulation

Hello,

I have a data set with test results for multiple devices (rows). I also
have an index (column) that stores the first failing test for each device.
I need to remove the results for all the tests that come after the first
failing test.

Example of a data table:

Device,first_failing_test,test1,test2,test3,test4,test5
1,test2,1,2,3,4,5
2,test4,2,3,4,5,6
3,test1,3,4,5,6,7

New table:

Device,first_failing_test,test1,test2,test3,test4,test5
1,test2,1,2,na,na,na
2,test4,2,3,4,5,na
3,test1,3,4,5,na,na

Ideally I need to pass the first table as an argument to a function and get
back the second table.

Any idea how this can be done in R?

Thanks

    [[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