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