Dear list, I have a variable that consists of typed responses. I wish to compute a variable equal to the number of characters in the original variable. For example:> x <- c("convert this to 32 because it has 32 characters", "this one has 22 characters", "12 characters")[Some magic function here]> x[1] 32 22 12 Any ideas?
nchar (c("convert this to 47 because it has 47 characters", "this one has 26 characters", "13 characters")) HTH Claudia -- Claudia Beleites Dipartimento dei Materiali e delle Risorse Naturali Universit? degli Studi di Trieste Via Alfonso Valerio 6/a I-34127 Trieste phone: +39 (0 40) 5 58-34 47 email: cbeleites at units.it
Hi r-help-bounces at r-project.org napsal dne 12.12.2008 16:31:10:> Dear list, > I have a variable that consists of typed responses. I wish to compute > a variable equal to the number of characters in the original variable. > For example: > > > x <- c("convert this to 32 because it has 32 characters", "this onehas 22> characters", "12 characters") > > [Some magic function here]If you consider space as a character then nchar(x) gives you the result. If not so such construction can do it unlist(lapply(lapply(strsplit(x, " "), paste, collapse=""), nchar)) Regards Petr> > > x > [1] 32 22 12 > > Any ideas? > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
On Fri, Dec 12, 2008 at 11:00 AM, Petr PIKAL <petr.pikal at precheza.cz> wrote:> Hi > > > r-help-bounces at r-project.org napsal dne 12.12.2008 16:31:10: > >> Dear list, >> I have a variable that consists of typed responses. I wish to compute >> a variable equal to the number of characters in the original variable. >> For example: >> >> > x <- c("convert this to 32 because it has 32 characters", "this one > has 22 >> characters", "12 characters") >> >> [Some magic function here] > > If you consider space as a character then > > nchar(x) > > gives you the result. > > If not so such construction can do it > > unlist(lapply(lapply(strsplit(x, " "), paste, collapse=""), nchar)) >or perhaps: x <- "abc def" nchar(gsub(" ", "", x)) # 6
Thanks to everyone who responded. This turns out to be amazingly easy. To count characters including spaces: nchar(x) To count characters excluding spaces: nchar(gsub(" *","",x)) Thanks! On Fri, Dec 12, 2008 at 11:00 AM, Petr PIKAL <petr.pikal at precheza.cz> wrote:> Hi > > > r-help-bounces at r-project.org napsal dne 12.12.2008 16:31:10: > >> Dear list, >> I have a variable that consists of typed responses. I wish to compute >> a variable equal to the number of characters in the original variable. >> For example: >> >> > x <- c("convert this to 32 because it has 32 characters", "this one > has 22 >> characters", "12 characters") >> >> [Some magic function here] > > If you consider space as a character then > > nchar(x) > > gives you the result. > > If not so such construction can do it > > unlist(lapply(lapply(strsplit(x, " "), paste, collapse=""), nchar)) > > Regards > Petr > >> >> > x >> [1] 32 22 12 >> >> Any ideas? >> >> ______________________________________________ >> 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. > >
On Fri, Dec 12, 2008 at 11:05 AM, Ista Zahn <izahn at psych.rochester.edu> wrote:> Thanks to everyone who responded. This turns out to be amazingly easy. > To count characters including spaces: > nchar(x) > To count characters excluding spaces: > nchar(gsub(" *","",x))The * is unnecessary.> > Thanks! > > On Fri, Dec 12, 2008 at 11:00 AM, Petr PIKAL <petr.pikal at precheza.cz> wrote: >> Hi >> >> >> r-help-bounces at r-project.org napsal dne 12.12.2008 16:31:10: >> >>> Dear list, >>> I have a variable that consists of typed responses. I wish to compute >>> a variable equal to the number of characters in the original variable. >>> For example: >>> >>> > x <- c("convert this to 32 because it has 32 characters", "this one >> has 22 >>> characters", "12 characters") >>> >>> [Some magic function here] >> >> If you consider space as a character then >> >> nchar(x) >> >> gives you the result. >> >> If not so such construction can do it >> >> unlist(lapply(lapply(strsplit(x, " "), paste, collapse=""), nchar)) >> >> Regards >> Petr >> >>> >>> > x >>> [1] 32 22 12 >>> >>> Any ideas? >>> >>> ______________________________________________ >>> 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. >> >> > > ______________________________________________ > 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. >
Ok, I knew somebody come with regex solution. My regex skills are limited so I do not use it very often. Regards Petr r-help-bounces at r-project.org napsal dne 12.12.2008 17:03:38:> On Fri, Dec 12, 2008 at 11:00 AM, Petr PIKAL <petr.pikal at precheza.cz>wrote:> > Hi > > > > > > r-help-bounces at r-project.org napsal dne 12.12.2008 16:31:10: > > > >> Dear list, > >> I have a variable that consists of typed responses. I wish to compute > >> a variable equal to the number of characters in the originalvariable.> >> For example: > >> > >> > x <- c("convert this to 32 because it has 32 characters", "this one > > has 22 > >> characters", "12 characters") > >> > >> [Some magic function here] > > > > If you consider space as a character then > > > > nchar(x) > > > > gives you the result. > > > > If not so such construction can do it > > > > unlist(lapply(lapply(strsplit(x, " "), paste, collapse=""), nchar)) > > > > or perhaps: > > x <- "abc def" > nchar(gsub(" ", "", x)) # 6 > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
Hi Ista, one way could be: ncharacters<-unlist(lapply(x,function(x)nchar(gsub(' ','',x)))) ncharacters ________________________________ From: Ista Zahn <izahn@psych.rochester.edu> To: r-help@r-project.org Sent: Friday, December 12, 2008 10:31:10 AM Subject: [R] character count Dear list, I have a variable that consists of typed responses. I wish to compute a variable equal to the number of characters in the original variable. For example:> x <- c("convert this to 32 because it has 32 characters", "this one has 22 characters", "12 characters")[Some magic function here]> x[1] 32 22 12 Any ideas? ______________________________________________ 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. [[alternative HTML version deleted]]