Re: [R] substr gives empty output

2018-01-23 Thread Luigi Marongiu
Thank you, I got it, now it works good

On Mon, Jan 22, 2018 at 1:58 PM, Howard, Tim G (DEC) <tim.how...@dec.ny.gov>
wrote:

> In
>
>  y <- substr(x, i, 1)
>
> your third integer needs to be the location not the number of digits, so
> change it to
>
>  y <- substr(x, i, i)
>
> and you should get what you want.
> Cheers,
> Tim
>
> > Date: Sun, 21 Jan 2018 10:50:31 -0500
> > From: Ek Esawi <esaw...@gmail.com>
> > To: Luigi Marongiu <marongiu.lu...@gmail.com>, r-help@r-project.org
> > Subject: Re: [R] substr gives empty output
> > Message-ID:
> > <CA+ZkTxubYDSZ3iqsg_=be9HBA2_3-TE95=mXbh4atvG-
> > ri_...@mail.gmail.com>
> > Content-Type: text/plain; charset="UTF-8"
> >
> > The reason you get "" is, as stated on the previous response and on the
> > documentation of substr function, the function "When extracting, if
> start is
> > larger than the string length then "" is returned.". This is what
> happens on
> > your function.
> >
> > HTH
> >
> > EK
> >
> > On Sun, Jan 21, 2018 at 3:59 AM, Luigi Marongiu <
> marongiu.lu...@gmail.com>
> > wrote:
> > > Dear all,
> > > I have a string, let's say "testing", and I would like to extract in
> > > sequence each letter (character) from it. But when I use substr() I
> > > only properly get the first character, the rest is empty (""). What am
> > > I getting wrong?
> > > For example, I have this code:
> > >
> > >>>>
> > > x <- "testing"
> > > k <- nchar(x)
> > > for (i in 1:k) {
> > >   y <- substr(x, i, 1)
> > >   print(y)
> > > }
> > >
> > > [[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.
> >
> >
>

[[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] substr gives empty output

2018-01-22 Thread David L Carlson
There is also a way to do this without a loop:

> strsplit(x, "")
[[1]]
[1] "t" "e" "s" "t" "i" "n" "g"
# Or if you just want the vector
> strsplit(x, "")[[1]]
[1] "t" "e" "s" "t" "i" "n" "g"


David L Carlson
Department of Anthropology
Texas A University
College Station, TX 77843-4352


-Original Message-
From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Howard, Tim G 
(DEC)
Sent: Monday, January 22, 2018 6:58 AM
To: r-help@r-project.org; Luigi Marongiu <marongiu.lu...@gmail.com>
Subject: Re: [R] substr gives empty output

In 

 y <- substr(x, i, 1)

your third integer needs to be the location not the number of digits, so change 
it to 

 y <- substr(x, i, i)

and you should get what you want. 
Cheers,
Tim

> Date: Sun, 21 Jan 2018 10:50:31 -0500
> From: Ek Esawi <esaw...@gmail.com>
> To: Luigi Marongiu <marongiu.lu...@gmail.com>, r-help@r-project.org
> Subject: Re: [R] substr gives empty output
> Message-ID:
> <CA+ZkTxubYDSZ3iqsg_=be9HBA2_3-TE95=mXbh4atvG-
> ri_...@mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
> 
> The reason you get "" is, as stated on the previous response and on 
> the documentation of substr function, the function "When extracting, 
> if start is larger than the string length then "" is returned.". This 
> is what happens on your function.
> 
> HTH
> 
> EK
> 
> On Sun, Jan 21, 2018 at 3:59 AM, Luigi Marongiu 
> <marongiu.lu...@gmail.com>
> wrote:
> > Dear all,
> > I have a string, let's say "testing", and I would like to extract in 
> > sequence each letter (character) from it. But when I use substr() I 
> > only properly get the first character, the rest is empty (""). What 
> > am I getting wrong?
> > For example, I have this code:
> >
> >>>>
> > x <- "testing"
> > k <- nchar(x)
> > for (i in 1:k) {
> >   y <- substr(x, i, 1)
> >   print(y)
> > }
> >
> > [[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-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] substr gives empty output

2018-01-22 Thread Howard, Tim G (DEC)
In 

 y <- substr(x, i, 1)

your third integer needs to be the location not the number of digits, so change 
it to 

 y <- substr(x, i, i)

and you should get what you want. 
Cheers, 
Tim

> Date: Sun, 21 Jan 2018 10:50:31 -0500
> From: Ek Esawi <esaw...@gmail.com>
> To: Luigi Marongiu <marongiu.lu...@gmail.com>, r-help@r-project.org
> Subject: Re: [R] substr gives empty output
> Message-ID:
> <CA+ZkTxubYDSZ3iqsg_=be9HBA2_3-TE95=mXbh4atvG-
> ri_...@mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
> 
> The reason you get "" is, as stated on the previous response and on the
> documentation of substr function, the function "When extracting, if start is
> larger than the string length then "" is returned.". This is what happens on
> your function.
> 
> HTH
> 
> EK
> 
> On Sun, Jan 21, 2018 at 3:59 AM, Luigi Marongiu <marongiu.lu...@gmail.com>
> wrote:
> > Dear all,
> > I have a string, let's say "testing", and I would like to extract in
> > sequence each letter (character) from it. But when I use substr() I
> > only properly get the first character, the rest is empty (""). What am
> > I getting wrong?
> > For example, I have this code:
> >
> >>>>
> > x <- "testing"
> > k <- nchar(x)
> > for (i in 1:k) {
> >   y <- substr(x, i, 1)
> >   print(y)
> > }
> >
> > [[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] substr gives empty output

2018-01-21 Thread Ek Esawi
The reason you get "" is, as stated on the previous response and on
the documentation of substr function, the function "When extracting,
if start is larger than the string length then "" is returned.". This
is what happens on your function.

HTH

EK

On Sun, Jan 21, 2018 at 3:59 AM, Luigi Marongiu
 wrote:
> Dear all,
> I have a string, let's say "testing", and I would like to extract in
> sequence each letter (character) from it. But when I use substr() I only
> properly get the first character, the rest is empty (""). What am I getting
> wrong?
> For example, I have this code:
>

> x <- "testing"
> k <- nchar(x)
> for (i in 1:k) {
>   y <- substr(x, i, 1)
>   print(y)
> }
>
> [[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] substr gives empty output

2018-01-21 Thread Ted Harding
On Sun, 2018-01-21 at 09:59 +0100, Luigi Marongiu wrote:
> Dear all,
> I have a string, let's say "testing", and I would like to extract in
> sequence each letter (character) from it. But when I use substr() I only
> properly get the first character, the rest is empty (""). What am I getting
> wrong?
> For example, I have this code:
> 
> >>>
> x <- "testing"
> k <- nchar(x)
> for (i in 1:k) {
>   y <- substr(x, i, 1)
>   print(y)
> }

>From the help page
  substr(x, start, stop)
where 'start' is the position in the character vector x at which the
substring starts, and 'stop' is the position at which it stops.

Hence 'stop' must be >= 'start'; and if they are equal then you get
just the single character. That is the case in your code, when i=1;
when i > 1 then stop < start, so you get nothing. Compare with:

  x <- "testing"
  k <- nchar(x)
  for (i in 1:k) { 
y <- substr(x, i, i)  ### was: substr(x, i, 1)
print(y)
  }

[1] "t"
[1] "e"
[1] "s"
[1] "t"
[1] "i"
[1] "n"
[1] "g"

Hoping this helps,
Ted.

__
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] substr gives empty output

2018-01-21 Thread Luigi Marongiu
Dear all,
I have a string, let's say "testing", and I would like to extract in
sequence each letter (character) from it. But when I use substr() I only
properly get the first character, the rest is empty (""). What am I getting
wrong?
For example, I have this code:

>>>
x <- "testing"
k <- nchar(x)
for (i in 1:k) {
  y <- substr(x, i, 1)
  print(y)
}

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