Simon Kiss
2010-Apr-14 07:56 UTC
[R] Problem with recode -Error in parse(text = range[[1]][1]) : unexpected end of input in " c(0"
Dear colleagues, in the help archive there was a previous person who encountered a problem with the "recode" command in the car library. I'm not sure if that was solved, there was no posting to that effect, but I'm having the same problem. I'm trying to recode a numeric variable with values from 0-100 into a binary variable with values (0,1). The following command: recode(green_2004_2$french, "c(50:100)=0; c(0:49.99)=1") gets the following error message Error in parse(text = range[[1]][1]) : unexpected end of input in " c(0" I tried it with a second numerical variable in the same data set, but get precisely the same error at precisely the same location in the command, i.e. the second colon. As far as I can tell I have the most up-to-date version of car installed. Any suggestions? Yours, Simon Kiss ********************************* Simon J. Kiss, PhD SSHRC and DAAD Post-Doctoral Fellow John F. Kennedy Institute of North America Studies Free University of Berlin Lansstra?e 7-9 14195 Berlin, Germany Cell: +49 (0)1525-300-2812, Web: http://www.jfki.fu-berlin.de/index.html
Peter Ehlers
2010-Apr-14 09:48 UTC
[R] Problem with recode -Error in parse(text = range[[1]][1]) : unexpected end of input in " c(0"
Get rid of the unnecessary c(...) construction: recode(green_2004_2$french, "50:100=0; 0:49.99=1") -Peter Ehlers On 2010-04-14 1:56, Simon Kiss wrote:> Dear colleagues, > in the help archive there was a previous person who encountered a > problem with the "recode" command in the car library. I'm not sure if > that was solved, there was no posting to that effect, but I'm having the > same problem. > > I'm trying to recode a numeric variable with values from 0-100 into a > binary variable with values (0,1). > > The following command: > > recode(green_2004_2$french, "c(50:100)=0; c(0:49.99)=1") > > gets the following error message > > Error in parse(text = range[[1]][1]) : unexpected end of input in " c(0" > > I tried it with a second numerical variable in the same data set, but > get precisely the same error at precisely the same location in the > command, i.e. the second colon. > As far as I can tell I have the most up-to-date version of car installed. > Any suggestions? > Yours, Simon Kiss > > ********************************* > Simon J. Kiss, PhD > SSHRC and DAAD Post-Doctoral Fellow > John F. Kennedy Institute of North America Studies > Free University of Berlin > Lansstra?e 7-9 > 14195 Berlin, Germany > Cell: +49 (0)1525-300-2812, > Web: http://www.jfki.fu-berlin.de/index.html > > ______________________________________________ > 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. > >-- Peter Ehlers University of Calgary
John Fox
2010-Apr-14 12:27 UTC
[R] Problem with recode -Error in parse(text = range[[1]][1]) : unexpected end of input in " c(0"
Dear Simon, The problem is that the recode specification is incorrect: In recode(), colons mean ranges, and shouldn't appear within c(), which is used to list values. See ?recode, and the following example:> (green_2004_2 <- data.frame(french=runif(10, 0, 100)))french 1 42.693517 2 18.063822 3 21.046906 4 17.045596 5 9.308359 6 30.018840 7 53.598261 8 17.739567 9 65.836818 10 37.727236> recode(green_2004_2$french, "50:100=0; 0:49.99=1")[1] 1 1 1 1 1 1 0 1 0 1 BTW, "50:100=0; 0:50=1" will produce the same result -- again see ?recode. Finally, it's generally a good idea to send a small reproducible example with a question like this. What if there were really a data-dependent bug in recode()? I hope this helps, John -------------------------------- John Fox Senator William McMaster Professor of Social Statistics Department of Sociology McMaster University Hamilton, Ontario, Canada web: socserv.mcmaster.ca/jfox> -----Original Message----- > From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]On> Behalf Of Simon Kiss > Sent: April-14-10 3:56 AM > To: r-help at r-project.org > Subject: [R] Problem with recode -Error in parse(text = range[[1]][1]) : > unexpected end of input in " c(0" > > Dear colleagues, > in the help archive there was a previous person who encountered a > problem with the "recode" command in the car library. I'm not sure if > that was solved, there was no posting to that effect, but I'm having > the same problem. > > I'm trying to recode a numeric variable with values from 0-100 into a > binary variable with values (0,1). > > The following command: > > recode(green_2004_2$french, "c(50:100)=0; c(0:49.99)=1") > > gets the following error message > > Error in parse(text = range[[1]][1]) : unexpected end of input in " c(0" > > I tried it with a second numerical variable in the same data set, but > get precisely the same error at precisely the same location in the > command, i.e. the second colon. > As far as I can tell I have the most up-to-date version of car > installed. > Any suggestions? > Yours, Simon Kiss > > ********************************* > Simon J. Kiss, PhD > SSHRC and DAAD Post-Doctoral Fellow > John F. Kennedy Institute of North America Studies > Free University of Berlin > Lansstra?e 7-9 > 14195 Berlin, Germany > Cell: +49 (0)1525-300-2812, > Web: http://www.jfki.fu-berlin.de/index.html > > ______________________________________________ > 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.
David Winsemius
2010-Apr-14 12:44 UTC
[R] Problem with recode -Error in parse(text = range[[1]][1]) : unexpected end of input in " c(0"
On Apr 14, 2010, at 2:56 AM, Simon Kiss wrote:> Dear colleagues, > in the help archive there was a previous person who encountered a > problem with the "recode" command in the car library. I'm not sure > if that was solved, there was no posting to that effect, but I'm > having the same problem. > > I'm trying to recode a numeric variable with values from 0-100 into > a binary variable with values (0,1). > > The following command: > > recode(green_2004_2$french, "c(50:100)=0; c(0:49.99)=1")Look at the last example in the recode help page: recode(x, "1:2='A'; 3='B'") ## [1] "A" "A" "B" "A" "A" "B" "A" "A" "B" It appears to me that the c() function around your sequences may be part of the problem and I further wondered whether 0:49.99 can succeed. Generally the ":" operator expects integer arguments, but the help page is not clear in this area and it appears that recode has a different interpretation. > require(car) > recode(x, "-Inf:0=-1; 0.000001:Inf=1") # succeeds -- David> > gets the following error message > > Error in parse(text = range[[1]][1]) : unexpected end of input in " > c(0" > > I tried it with a second numerical variable in the same data set, > but get precisely the same error at precisely the same location in > the command, i.e. the second colon. > As far as I can tell I have the most up-to-date version of car > installed. > Any suggestions? > Yours, Simon Kiss > > ********************************* > Simon J. Kiss, PhD > SSHRC and DAAD Post-Doctoral Fellow > John F. Kennedy Institute of North America Studies > Free University of Berlin > Lansstra?e 7-9 > 14195 Berlin, Germany > Cell: +49 (0)1525-300-2812, > Web: http://www.jfki.fu-berlin.de/index.html > > ______________________________________________ > 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.
Seemingly Similar Threads
- help calculating variable based on factor level of another
- Grouping and stacking bar plot for categorical variables
- generate irregular series of dates
- Finding different hues for a mosaic plot compatible with grayscale printing
- Comparing a 4-point and 5-point Likert scale