Re: [R] Extract student ID that match certain criteria
Hi Rui, Both functions work beautifully. I really appreciate your help and others very much. Thank you On Wed, Mar 15, 2017 at 10:46 PM, Rui Barradas <ruipbarra...@sapo.pt> wrote: > Hello, > > I believe your request is a bit confusing since you say you want to filter > the student id but then you have many years in dt_all3 and only one program > ("IJAZAH SARJANA MUDA"). So I've written two simple functions, one to > filter by year and the other by program. > > > fun1 <- function(x, year){ > inx <- substr(x[["STUDENT_ID"]], 3, 4) == as.character(year) > x[inx, ] > } > > fun2 <- function(x, program){ > inx <- x[["PROGRAM"]] == program > x[inx, ] > } > > fun1(dt_all2, 14) # filter by year = 14 > fun2(dt_all2, "IJAZAH SARJANA MUDA") > > Hope this helps, > > Rui Barradas > > > > Em 15-03-2017 13:49, roslinazairimah zakaria escreveu: > >> Hi Caitlin, >> >> I tried so many ways as suggested but unsuccessful...and I realise that I >> need to filter the student ID and their CGPA, but if I change the ID into >> character I lost the CGPA value. It is easy to do in excel, however a bit >> time consuming and trying to do in R. >> >> I have these data: >> >> dput(dt_all2) >> structure(list(FAC_CODE = structure(c(2L, 2L, 2L, 4L, 1L, 1L, >> 4L, 7L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 1L, 2L, 5L, 6L), .Label = c("FKASA", >> "FKEE", "FKKSA", "FKM", "FKP", "FSKKP", "FTK"), class = "factor"), >> STUDENT_ID = structure(c(9L, 6L, 7L, 17L, 2L, 3L, 18L, 19L, >> 13L, 12L, 14L, 15L, 16L, 10L, 8L, 1L, 5L, 11L, 4L), .Label = >> c("AA14068", >> "AB15103", "AB15124", "CC14107", "EA13043", "EB14059", "EB14073", >> "EB14101", "EC14021", "EC15063", "FB14085", "KA13142", "KA13143", >> "KA13156", "KE13034", "KE13046", "MA14071", "MA14115", "PA13048" >> ), class = "factor"), PROGRAM = structure(c(2L, 1L, 1L, 2L, >> 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L >> ), .Label = c("DIPLOMA", "IJAZAH SARJANA MUDA"), class = "factor"), >> CGPA = c(2.42, 3.27, 1.98, 2.85, 2.24, 3.01, 3.31, 2.88, >> 3.61, 3.69, 3.2, 3.85, 3.63, 2.67, 2.35, 2.74, 1.96, 2.89, >> 2.59)), .Names = c("FAC_CODE", "STUDENT_ID", "PROGRAM", "CGPA" >> ), class = "data.frame", row.names = c(NA, -19L)) >> >> and I want to filter my data as follows: >> >> dput(dt_all3) >>> >> structure(list(FAC_CODE = structure(c(2L, 2L, 4L, 4L, 5L, 1L, >> 6L, 3L, 3L, 3L, 3L, 3L, 2L), .Label = c("FKASA", "FKEE", "FKKSA", >> "FKM", "FKP", "FTK"), class = "factor"), STUDENT_ID = structure(c(4L, >> 3L, 11L, 12L, 5L, 1L, 13L, 7L, 6L, 8L, 9L, 10L, 2L), .Label = c("AA14068", >> "EA13043", "EC14021", "EC15063", "FB14085", "KA13142", "KA13143", >> "KA13156", "KE13034", "KE13046", "MA14071", "MA14115", "PA13048" >> ), class = "factor"), PROGRAM = structure(c(1L, 1L, 1L, 1L, 1L, >> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "IJAZAH SARJANA MUDA", class = >> "factor"), >> CGPA = c(2.67, 2.42, 2.85, 3.31, 2.89, 2.74, 2.88, 3.61, >> 3.69, 3.2, 3.85, 3.63, 1.96)), .Names = c("FAC_CODE", "STUDENT_ID", >> "PROGRAM", "CGPA"), class = "data.frame", row.names = c(NA, -13L >> )) >> >> I would like to select the student id where the third and fourth value >> represent the year they register data is eg. AA15..., AE14,... and I would >> also to select their cgpa value. >> >> Thank you. >> >> On Mon, Mar 13, 2017 at 2:26 PM, roslinazairimah zakaria < >> roslina...@gmail.com> wrote: >> >> Thank you so much for your help. >>> >>> On Mon, Mar 13, 2017 at 1:52 PM, bioprogrammer <bioprogram...@gmail.com> >>> wrote: >>> >>> Hi. >>>> >>>> I would use the "substr" function: >>>> >>>> https://stat.ethz.ch/R-manual/R-devel/library/base/html/substr.html >>>> >>>> ...assuming you're
Re: [R] Extract student ID that match certain criteria
Hello, I believe your request is a bit confusing since you say you want to filter the student id but then you have many years in dt_all3 and only one program ("IJAZAH SARJANA MUDA"). So I've written two simple functions, one to filter by year and the other by program. fun1 <- function(x, year){ inx <- substr(x[["STUDENT_ID"]], 3, 4) == as.character(year) x[inx, ] } fun2 <- function(x, program){ inx <- x[["PROGRAM"]] == program x[inx, ] } fun1(dt_all2, 14) # filter by year = 14 fun2(dt_all2, "IJAZAH SARJANA MUDA") Hope this helps, Rui Barradas Em 15-03-2017 13:49, roslinazairimah zakaria escreveu: Hi Caitlin, I tried so many ways as suggested but unsuccessful...and I realise that I need to filter the student ID and their CGPA, but if I change the ID into character I lost the CGPA value. It is easy to do in excel, however a bit time consuming and trying to do in R. I have these data: dput(dt_all2) structure(list(FAC_CODE = structure(c(2L, 2L, 2L, 4L, 1L, 1L, 4L, 7L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 1L, 2L, 5L, 6L), .Label = c("FKASA", "FKEE", "FKKSA", "FKM", "FKP", "FSKKP", "FTK"), class = "factor"), STUDENT_ID = structure(c(9L, 6L, 7L, 17L, 2L, 3L, 18L, 19L, 13L, 12L, 14L, 15L, 16L, 10L, 8L, 1L, 5L, 11L, 4L), .Label = c("AA14068", "AB15103", "AB15124", "CC14107", "EA13043", "EB14059", "EB14073", "EB14101", "EC14021", "EC15063", "FB14085", "KA13142", "KA13143", "KA13156", "KE13034", "KE13046", "MA14071", "MA14115", "PA13048" ), class = "factor"), PROGRAM = structure(c(2L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L ), .Label = c("DIPLOMA", "IJAZAH SARJANA MUDA"), class = "factor"), CGPA = c(2.42, 3.27, 1.98, 2.85, 2.24, 3.01, 3.31, 2.88, 3.61, 3.69, 3.2, 3.85, 3.63, 2.67, 2.35, 2.74, 1.96, 2.89, 2.59)), .Names = c("FAC_CODE", "STUDENT_ID", "PROGRAM", "CGPA" ), class = "data.frame", row.names = c(NA, -19L)) and I want to filter my data as follows: dput(dt_all3) structure(list(FAC_CODE = structure(c(2L, 2L, 4L, 4L, 5L, 1L, 6L, 3L, 3L, 3L, 3L, 3L, 2L), .Label = c("FKASA", "FKEE", "FKKSA", "FKM", "FKP", "FTK"), class = "factor"), STUDENT_ID = structure(c(4L, 3L, 11L, 12L, 5L, 1L, 13L, 7L, 6L, 8L, 9L, 10L, 2L), .Label = c("AA14068", "EA13043", "EC14021", "EC15063", "FB14085", "KA13142", "KA13143", "KA13156", "KE13034", "KE13046", "MA14071", "MA14115", "PA13048" ), class = "factor"), PROGRAM = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "IJAZAH SARJANA MUDA", class = "factor"), CGPA = c(2.67, 2.42, 2.85, 3.31, 2.89, 2.74, 2.88, 3.61, 3.69, 3.2, 3.85, 3.63, 1.96)), .Names = c("FAC_CODE", "STUDENT_ID", "PROGRAM", "CGPA"), class = "data.frame", row.names = c(NA, -13L )) I would like to select the student id where the third and fourth value represent the year they register data is eg. AA15..., AE14,... and I would also to select their cgpa value. Thank you. On Mon, Mar 13, 2017 at 2:26 PM, roslinazairimah zakaria < roslina...@gmail.com> wrote: Thank you so much for your help. On Mon, Mar 13, 2017 at 1:52 PM, bioprogrammer <bioprogram...@gmail.com> wrote: Hi. I would use the "substr" function: https://stat.ethz.ch/R-manual/R-devel/library/base/html/substr.html ...assuming you're working with character data. Another useful skill involves working with regular expressions. http://www.endmemo.com/program/R/grep.php http://regular-expressions.mobi/tutorial.html Hope these help :) ~Caitlin Sent from my T-Mobile 4G LTE Device Original message From: roslinazairimah zakaria <roslina...@gmail.com> Date:03/12/2017 10:18 PM (GMT-07:00) To: Bert Gunter <bgunter.4...@gmail.com> Cc: r-help mailing list <r-help@r-project.org> Subject: Re: [R] Extract student ID that match certain criteria Another question, How do I extract ID based on the third and fourth letter: I have for example, AA14004, AB15035, CB14024, PA14009, PA14009 etc I would like to extract ID no. of AB14..., CB14..., PA14... On Mon, Mar 13, 2017 at 12:37 PM, roslinazairimah zakaria < roslina...@gmail.com> wrote: Hi Bert, Thank you so much for your help. However I don't really sure what is the use of y values. Can we do witho
Re: [R] Extract student ID that match certain criteria
Hi Caitlin, I tried so many ways as suggested but unsuccessful...and I realise that I need to filter the student ID and their CGPA, but if I change the ID into character I lost the CGPA value. It is easy to do in excel, however a bit time consuming and trying to do in R. I have these data: dput(dt_all2) structure(list(FAC_CODE = structure(c(2L, 2L, 2L, 4L, 1L, 1L, 4L, 7L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 1L, 2L, 5L, 6L), .Label = c("FKASA", "FKEE", "FKKSA", "FKM", "FKP", "FSKKP", "FTK"), class = "factor"), STUDENT_ID = structure(c(9L, 6L, 7L, 17L, 2L, 3L, 18L, 19L, 13L, 12L, 14L, 15L, 16L, 10L, 8L, 1L, 5L, 11L, 4L), .Label = c("AA14068", "AB15103", "AB15124", "CC14107", "EA13043", "EB14059", "EB14073", "EB14101", "EC14021", "EC15063", "FB14085", "KA13142", "KA13143", "KA13156", "KE13034", "KE13046", "MA14071", "MA14115", "PA13048" ), class = "factor"), PROGRAM = structure(c(2L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L ), .Label = c("DIPLOMA", "IJAZAH SARJANA MUDA"), class = "factor"), CGPA = c(2.42, 3.27, 1.98, 2.85, 2.24, 3.01, 3.31, 2.88, 3.61, 3.69, 3.2, 3.85, 3.63, 2.67, 2.35, 2.74, 1.96, 2.89, 2.59)), .Names = c("FAC_CODE", "STUDENT_ID", "PROGRAM", "CGPA" ), class = "data.frame", row.names = c(NA, -19L)) and I want to filter my data as follows: > dput(dt_all3) structure(list(FAC_CODE = structure(c(2L, 2L, 4L, 4L, 5L, 1L, 6L, 3L, 3L, 3L, 3L, 3L, 2L), .Label = c("FKASA", "FKEE", "FKKSA", "FKM", "FKP", "FTK"), class = "factor"), STUDENT_ID = structure(c(4L, 3L, 11L, 12L, 5L, 1L, 13L, 7L, 6L, 8L, 9L, 10L, 2L), .Label = c("AA14068", "EA13043", "EC14021", "EC15063", "FB14085", "KA13142", "KA13143", "KA13156", "KE13034", "KE13046", "MA14071", "MA14115", "PA13048" ), class = "factor"), PROGRAM = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "IJAZAH SARJANA MUDA", class = "factor"), CGPA = c(2.67, 2.42, 2.85, 3.31, 2.89, 2.74, 2.88, 3.61, 3.69, 3.2, 3.85, 3.63, 1.96)), .Names = c("FAC_CODE", "STUDENT_ID", "PROGRAM", "CGPA"), class = "data.frame", row.names = c(NA, -13L )) I would like to select the student id where the third and fourth value represent the year they register data is eg. AA15..., AE14,... and I would also to select their cgpa value. Thank you. On Mon, Mar 13, 2017 at 2:26 PM, roslinazairimah zakaria < roslina...@gmail.com> wrote: > Thank you so much for your help. > > On Mon, Mar 13, 2017 at 1:52 PM, bioprogrammer <bioprogram...@gmail.com> > wrote: > >> Hi. >> >> I would use the "substr" function: >> >> https://stat.ethz.ch/R-manual/R-devel/library/base/html/substr.html >> >> ...assuming you're working with character data. >> >> Another useful skill involves working with regular expressions. >> >> http://www.endmemo.com/program/R/grep.php >> >> http://regular-expressions.mobi/tutorial.html >> >> Hope these help :) >> >> ~Caitlin >> >> >> >> >> >> Sent from my T-Mobile 4G LTE Device >> >> >> Original message >> From: roslinazairimah zakaria <roslina...@gmail.com> >> Date:03/12/2017 10:18 PM (GMT-07:00) >> To: Bert Gunter <bgunter.4...@gmail.com> >> Cc: r-help mailing list <r-help@r-project.org> >> Subject: Re: [R] Extract student ID that match certain criteria >> >> Another question, >> >> How do I extract ID based on the third and fourth letter: >> >> I have for example, AA14004, AB15035, CB14024, PA14009, PA14009 etc >> >> I would like to extract ID no. of AB14..., CB14..., PA14... >> >> On Mon, Mar 13, 2017 at 12:37 PM, roslinazairimah zakaria < >> roslina...@gmail.com> wrote: >> >> > Hi Bert, >> > >> > Thank you so much for your help. However I don't really sure what is >> the >> > use of y values. Can we do without it? >> > >> > x <- as.character(FKASA$STUDENT_ID) >> > y <- c(1,786) >> > My.Data <- data.frame (x,y) >> > >> > My.Data[grep("^AA14", My.Data$x), ] >> > >> > I g
Re: [R] Extract student ID that match certain criteria
Hi Roslinazairimah, What you seem to want is fairly simple: dt<-c("AA14068","AA13194","AE11054","AA12251","AA13228", "AA13286","AA14090","AA13256","AA13260","AA13291", "AA14099","AA15071","AA13143","AA14012","AA14039", "AA15018","AA13234","AA13149","AA13282","AA13218") dt[grep(pattern="AA14",dt)] [1] "AA14068" "AA14090" "AA14099" "AA14012" "AA14039" However, as others have suggested, you may want a more general solution that involves a variable pattern. Jim On Mon, Mar 13, 2017 at 2:32 PM, roslinazairimah zakariawrote: > Dear r-users, > > I have this list of student ID, > > dt <- c(AA14068, AA13194, AE11054, AA12251, AA13228, AA13286, AA14090, > AA13256, AA13260, AA13291, AA14099, AA15071, AA13143, AA14012, AA14039, > AA15018, AA13234, AA13149, AA13282, AA13218) > > and I would like to extract all student of ID AA14... only. > > I search and tried substrt, subset and select but it fail. > > substr(FKASA$STUDENT_ID, 2, nchar(string1)) > Error in nchar(string1) : 'nchar()' requires a character vector >> subset(FKASA, STUDENT_ID=="AA14" ) > [1] FAC_CODEFACULTY STUDENT_ID NAMEPROGRAM KURSUS > CGPAACT_SS ACT_VAL ACT_CS ACT_LED ACT_PS > ACT_IM > [14] ACT_ENT ACT_CRE ACT_UNI ACT_VOL... > > Thank you so much for your help. > > How do I do it? > -- > *Roslinazairimah Zakaria* > *Tel: +609-5492370; Fax. No.+609-5492766* > > *Email: roslinazairi...@ump.edu.my ; > roslina...@gmail.com * > Faculty of Industrial Sciences & Technology > University Malaysia Pahang > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia > > [[alternative HTML version deleted]] > > __ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. __ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
Re: [R] Extract student ID that match certain criteria
Hi Roslinazairimah, As Bert suggested, you should get acquainted with regular expressions. It can be confusing at times, but pays off in the long run. In your case, the pattern of "^[A-Z]{2}14.*" might work. Best, Ulrik On Mon, 13 Mar 2017 at 06:20 roslinazairimah zakariawrote: > Another question, > > How do I extract ID based on the third and fourth letter: > > I have for example, AA14004, AB15035, CB14024, PA14009, PA14009 etc > > I would like to extract ID no. of AB14..., CB14..., PA14... > > On Mon, Mar 13, 2017 at 12:37 PM, roslinazairimah zakaria < > roslina...@gmail.com> wrote: > > > Hi Bert, > > > > Thank you so much for your help. However I don't really sure what is the > > use of y values. Can we do without it? > > > > x <- as.character(FKASA$STUDENT_ID) > > y <- c(1,786) > > My.Data <- data.frame (x,y) > > > > My.Data[grep("^AA14", My.Data$x), ] > > > > I got the following data: > > > > x y > > 1 AA14068 1 > > 7 AA14090 1 > > 11 AA14099 1 > > 14 AA14012 786 > > 15 AA14039 1 > > 22 AA14251 786 > > > > On Mon, Mar 13, 2017 at 11:51 AM, Bert Gunter > > wrote: > > > >> 1. Your code is incorrect. All entries are character strings and must be > >> quoted. > >> > >> 2. See ?grep and note in particular (in the "Value" section): > >> > >> "grep(value = TRUE) returns a character vector containing the selected > >> elements of x (after coercion, preserving names but no other > >> attributes)." > >> > >> > >> 3. While the fixed = TRUE option will work here, you may wish to learn > >> about "regular expressions", which can come in very handy for > >> character string manipulation tasks. ?regex in R has a terse, but I > >> have found comprehensible, discussion. There are many good gentler > >> tutorials on the web, also. > >> > >> > >> Cheers, > >> Bert > >> > >> Bert Gunter > >> > >> "The trouble with having an open mind is that people keep coming along > >> and sticking things into it." > >> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > >> > >> > >> On Sun, Mar 12, 2017 at 8:32 PM, roslinazairimah zakaria > >> wrote: > >> > Dear r-users, > >> > > >> > I have this list of student ID, > >> > > >> > dt <- c(AA14068, AA13194, AE11054, AA12251, AA13228, AA13286, AA14090, > >> > AA13256, AA13260, AA13291, AA14099, AA15071, AA13143, AA14012, > AA14039, > >> > AA15018, AA13234, AA13149, AA13282, AA13218) > >> > > >> > and I would like to extract all student of ID AA14... only. > >> > > >> > I search and tried substrt, subset and select but it fail. > >> > > >> > substr(FKASA$STUDENT_ID, 2, nchar(string1)) > >> > Error in nchar(string1) : 'nchar()' requires a character vector > >> >> subset(FKASA, STUDENT_ID=="AA14" ) > >> > [1] FAC_CODEFACULTY STUDENT_ID NAMEPROGRAM > KURSUS > >> > CGPAACT_SS ACT_VAL ACT_CS ACT_LED ACT_PS > >> > ACT_IM > >> > [14] ACT_ENT ACT_CRE ACT_UNI ACT_VOL... > >> > > >> > Thank you so much for your help. > >> > > >> > How do I do it? > >> > -- > >> > *Roslinazairimah Zakaria* > >> > *Tel: +609-5492370 <+60%209-549%202370>; Fax. No.+609-5492766 > <+60%209-549%202766>* > >> > > >> > *Email: roslinazairi...@ump.edu.my ; > >> > roslina...@gmail.com * > >> > Faculty of Industrial Sciences & Technology > >> > University Malaysia Pahang > >> > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia > >> > > >> > [[alternative HTML version deleted]] > >> > > >> > __ > >> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > >> > https://stat.ethz.ch/mailman/listinfo/r-help > >> > PLEASE do read the posting guide http://www.R-project.org/posti > >> ng-guide.html > >> > and provide commented, minimal, self-contained, reproducible code. > >> > > > > > > > > -- > > *Roslinazairimah Zakaria* > > *Tel: +609-5492370 <+60%209-549%202370> <+60%209-549%202370>; Fax. No. > +609-5492766 <+60%209-549%202766> > > <+60%209-549%202766>* > > > > *Email: roslinazairi...@ump.edu.my ; > > roslina...@gmail.com * > > Faculty of Industrial Sciences & Technology > > University Malaysia Pahang > > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia > > > > > > -- > *Roslinazairimah Zakaria* > *Tel: +609-5492370 <+60%209-549%202370>; Fax. No.+609-5492766 > <+60%209-549%202766>* > > *Email: roslinazairi...@ump.edu.my ; > roslina...@gmail.com * > Faculty of Industrial Sciences & Technology > University Malaysia Pahang > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia > > [[alternative HTML version deleted]] > > __ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide >
Re: [R] Extract student ID that match certain criteria
Another question, How do I extract ID based on the third and fourth letter: I have for example, AA14004, AB15035, CB14024, PA14009, PA14009 etc I would like to extract ID no. of AB14..., CB14..., PA14... On Mon, Mar 13, 2017 at 12:37 PM, roslinazairimah zakaria < roslina...@gmail.com> wrote: > Hi Bert, > > Thank you so much for your help. However I don't really sure what is the > use of y values. Can we do without it? > > x <- as.character(FKASA$STUDENT_ID) > y <- c(1,786) > My.Data <- data.frame (x,y) > > My.Data[grep("^AA14", My.Data$x), ] > > I got the following data: > > x y > 1 AA14068 1 > 7 AA14090 1 > 11 AA14099 1 > 14 AA14012 786 > 15 AA14039 1 > 22 AA14251 786 > > On Mon, Mar 13, 2017 at 11:51 AM, Bert Gunter> wrote: > >> 1. Your code is incorrect. All entries are character strings and must be >> quoted. >> >> 2. See ?grep and note in particular (in the "Value" section): >> >> "grep(value = TRUE) returns a character vector containing the selected >> elements of x (after coercion, preserving names but no other >> attributes)." >> >> >> 3. While the fixed = TRUE option will work here, you may wish to learn >> about "regular expressions", which can come in very handy for >> character string manipulation tasks. ?regex in R has a terse, but I >> have found comprehensible, discussion. There are many good gentler >> tutorials on the web, also. >> >> >> Cheers, >> Bert >> >> Bert Gunter >> >> "The trouble with having an open mind is that people keep coming along >> and sticking things into it." >> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) >> >> >> On Sun, Mar 12, 2017 at 8:32 PM, roslinazairimah zakaria >> wrote: >> > Dear r-users, >> > >> > I have this list of student ID, >> > >> > dt <- c(AA14068, AA13194, AE11054, AA12251, AA13228, AA13286, AA14090, >> > AA13256, AA13260, AA13291, AA14099, AA15071, AA13143, AA14012, AA14039, >> > AA15018, AA13234, AA13149, AA13282, AA13218) >> > >> > and I would like to extract all student of ID AA14... only. >> > >> > I search and tried substrt, subset and select but it fail. >> > >> > substr(FKASA$STUDENT_ID, 2, nchar(string1)) >> > Error in nchar(string1) : 'nchar()' requires a character vector >> >> subset(FKASA, STUDENT_ID=="AA14" ) >> > [1] FAC_CODEFACULTY STUDENT_ID NAMEPROGRAM KURSUS >> > CGPAACT_SS ACT_VAL ACT_CS ACT_LED ACT_PS >> > ACT_IM >> > [14] ACT_ENT ACT_CRE ACT_UNI ACT_VOL... >> > >> > Thank you so much for your help. >> > >> > How do I do it? >> > -- >> > *Roslinazairimah Zakaria* >> > *Tel: +609-5492370; Fax. No.+609-5492766* >> > >> > *Email: roslinazairi...@ump.edu.my ; >> > roslina...@gmail.com * >> > Faculty of Industrial Sciences & Technology >> > University Malaysia Pahang >> > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia >> > >> > [[alternative HTML version deleted]] >> > >> > __ >> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> > https://stat.ethz.ch/mailman/listinfo/r-help >> > PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> > and provide commented, minimal, self-contained, reproducible code. >> > > > > -- > *Roslinazairimah Zakaria* > *Tel: +609-5492370 <+60%209-549%202370>; Fax. No.+609-5492766 > <+60%209-549%202766>* > > *Email: roslinazairi...@ump.edu.my ; > roslina...@gmail.com * > Faculty of Industrial Sciences & Technology > University Malaysia Pahang > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia > -- *Roslinazairimah Zakaria* *Tel: +609-5492370; Fax. No.+609-5492766* *Email: roslinazairi...@ump.edu.my ; roslina...@gmail.com * Faculty of Industrial Sciences & Technology University Malaysia Pahang Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia [[alternative HTML version deleted]] __ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
Re: [R] Extract student ID that match certain criteria
Hi Bert, Thank you so much for your help. However I don't really sure what is the use of y values. Can we do without it? x <- as.character(FKASA$STUDENT_ID) y <- c(1,786) My.Data <- data.frame (x,y) My.Data[grep("^AA14", My.Data$x), ] I got the following data: x y 1 AA14068 1 7 AA14090 1 11 AA14099 1 14 AA14012 786 15 AA14039 1 22 AA14251 786 On Mon, Mar 13, 2017 at 11:51 AM, Bert Gunterwrote: > 1. Your code is incorrect. All entries are character strings and must be > quoted. > > 2. See ?grep and note in particular (in the "Value" section): > > "grep(value = TRUE) returns a character vector containing the selected > elements of x (after coercion, preserving names but no other > attributes)." > > > 3. While the fixed = TRUE option will work here, you may wish to learn > about "regular expressions", which can come in very handy for > character string manipulation tasks. ?regex in R has a terse, but I > have found comprehensible, discussion. There are many good gentler > tutorials on the web, also. > > > Cheers, > Bert > > Bert Gunter > > "The trouble with having an open mind is that people keep coming along > and sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > > On Sun, Mar 12, 2017 at 8:32 PM, roslinazairimah zakaria > wrote: > > Dear r-users, > > > > I have this list of student ID, > > > > dt <- c(AA14068, AA13194, AE11054, AA12251, AA13228, AA13286, AA14090, > > AA13256, AA13260, AA13291, AA14099, AA15071, AA13143, AA14012, AA14039, > > AA15018, AA13234, AA13149, AA13282, AA13218) > > > > and I would like to extract all student of ID AA14... only. > > > > I search and tried substrt, subset and select but it fail. > > > > substr(FKASA$STUDENT_ID, 2, nchar(string1)) > > Error in nchar(string1) : 'nchar()' requires a character vector > >> subset(FKASA, STUDENT_ID=="AA14" ) > > [1] FAC_CODEFACULTY STUDENT_ID NAMEPROGRAM KURSUS > > CGPAACT_SS ACT_VAL ACT_CS ACT_LED ACT_PS > > ACT_IM > > [14] ACT_ENT ACT_CRE ACT_UNI ACT_VOL... > > > > Thank you so much for your help. > > > > How do I do it? > > -- > > *Roslinazairimah Zakaria* > > *Tel: +609-5492370; Fax. No.+609-5492766* > > > > *Email: roslinazairi...@ump.edu.my ; > > roslina...@gmail.com * > > Faculty of Industrial Sciences & Technology > > University Malaysia Pahang > > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia > > > > [[alternative HTML version deleted]] > > > > __ > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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. > -- *Roslinazairimah Zakaria* *Tel: +609-5492370; Fax. No.+609-5492766* *Email: roslinazairi...@ump.edu.my ; roslina...@gmail.com * Faculty of Industrial Sciences & Technology University Malaysia Pahang Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia [[alternative HTML version deleted]] __ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
Re: [R] Extract student ID that match certain criteria
1. Your code is incorrect. All entries are character strings and must be quoted. 2. See ?grep and note in particular (in the "Value" section): "grep(value = TRUE) returns a character vector containing the selected elements of x (after coercion, preserving names but no other attributes)." 3. While the fixed = TRUE option will work here, you may wish to learn about "regular expressions", which can come in very handy for character string manipulation tasks. ?regex in R has a terse, but I have found comprehensible, discussion. There are many good gentler tutorials on the web, also. Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Sun, Mar 12, 2017 at 8:32 PM, roslinazairimah zakariawrote: > Dear r-users, > > I have this list of student ID, > > dt <- c(AA14068, AA13194, AE11054, AA12251, AA13228, AA13286, AA14090, > AA13256, AA13260, AA13291, AA14099, AA15071, AA13143, AA14012, AA14039, > AA15018, AA13234, AA13149, AA13282, AA13218) > > and I would like to extract all student of ID AA14... only. > > I search and tried substrt, subset and select but it fail. > > substr(FKASA$STUDENT_ID, 2, nchar(string1)) > Error in nchar(string1) : 'nchar()' requires a character vector >> subset(FKASA, STUDENT_ID=="AA14" ) > [1] FAC_CODEFACULTY STUDENT_ID NAMEPROGRAM KURSUS > CGPAACT_SS ACT_VAL ACT_CS ACT_LED ACT_PS > ACT_IM > [14] ACT_ENT ACT_CRE ACT_UNI ACT_VOL... > > Thank you so much for your help. > > How do I do it? > -- > *Roslinazairimah Zakaria* > *Tel: +609-5492370; Fax. No.+609-5492766* > > *Email: roslinazairi...@ump.edu.my ; > roslina...@gmail.com * > Faculty of Industrial Sciences & Technology > University Malaysia Pahang > Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia > > [[alternative HTML version deleted]] > > __ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. __ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
[R] Extract student ID that match certain criteria
Dear r-users, I have this list of student ID, dt <- c(AA14068, AA13194, AE11054, AA12251, AA13228, AA13286, AA14090, AA13256, AA13260, AA13291, AA14099, AA15071, AA13143, AA14012, AA14039, AA15018, AA13234, AA13149, AA13282, AA13218) and I would like to extract all student of ID AA14... only. I search and tried substrt, subset and select but it fail. substr(FKASA$STUDENT_ID, 2, nchar(string1)) Error in nchar(string1) : 'nchar()' requires a character vector > subset(FKASA, STUDENT_ID=="AA14" ) [1] FAC_CODEFACULTY STUDENT_ID NAMEPROGRAM KURSUS CGPAACT_SS ACT_VAL ACT_CS ACT_LED ACT_PS ACT_IM [14] ACT_ENT ACT_CRE ACT_UNI ACT_VOL... Thank you so much for your help. How do I do it? -- *Roslinazairimah Zakaria* *Tel: +609-5492370; Fax. No.+609-5492766* *Email: roslinazairi...@ump.edu.my; roslina...@gmail.com * Faculty of Industrial Sciences & Technology University Malaysia Pahang Lebuhraya Tun Razak, 26300 Gambang, Pahang, Malaysia [[alternative HTML version deleted]] __ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.