I used within and vapply: x <- data.frame(Col1 = c("abc/def", "ghi/jkl/mno"), stringsAsFactors = FALSE) count.slashes <- function(string)sum(unlist(strsplit(string, NULL)) == "/")within(x, Col2 <- vapply(Col1, count.slashes, 1)) Col1 Col21 abc/def 12 ghi/jkl/mno 2
On Thu, Dec 1, 2011 at 1:05 PM, Bert Gunter <gunter.ber...@gene.com> wrote: > ## It's not a data frame -- it's just a vector. > >> x > [1] "abc/def" "ghi/jkl/mno" >> gsub("[^/]","",x) > [1] "/" "//" >> nchar(gsub("[^/]","",x)) > [1] 1 2 >> > > ?gsub > ?nchar > > -- Bert > > On Thu, Dec 1, 2011 at 8:32 AM, Douglas Esneault > <douglas.esnea...@mecglobal.com> wrote: >> I am new to R but am experienced SAS user and I was hoping to get some help >> on counting the occurrences of a character within a string at a row level. >> >> My dataframe, x, is structured as below: >> >> Col1 >> abc/def >> ghi/jkl/mno >> >> I found this code on the board but it counts all occurrences of "/" in the >> dataframe. >> >> chr.pos <- which(unlist(strsplit(x,NULL))=='/') >> chr.count <- length(chr.pos) >> chr.count >> [1] 3 >> >> I'd like to append a column, say cnt, that has the count of "/" for each row. >> >> Can anyone point me in the right direction or offer some code to do this? >> >> Thanks in advance for the help. >> >> Doug Esneault >> >> >> >> >> >> >> Privileged/Confidential Information may be contained in this message. If you >> are not the addressee indicated in this message (or responsible for delivery >> of the message to such person), you may not copy or deliver this message to >> anyone. In such case, you should destroy this message and kindly notify the >> sender by reply email. Please advise immediately if you or your employer >> does not consent to email for messages of this kind. Opinions, conclusions >> and other information in this message that do not relate to the official >> business of the GroupM companies shall be understood as neither given nor >> endorsed by it. GroupM companies are a member of WPP plc. For more >> information on our business ethical standards and Corporate Responsibility >> policies please refer to our website at >> http://www.wpp.com/WPP/About/ >> >> >> ______________________________________________ >> R-help@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. > > > > -- > > Bert Gunter > Genentech Nonclinical Biostatistics > > Internal Contact Info: > Phone: 467-7374 > Website: > http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm > > ______________________________________________ > R-help@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. ______________________________________________ R-help@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.