Re: [R] substr gives empty output
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
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
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
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 Marongiuwrote: > 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
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
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.