Your errors look exactly like mine. Changing the option flag does allow me to create the data.frame without any errors. A quick look confirms that all the values are there and correct.
However, R has coerced all of my numeric values to strings. Using your sample code also turns all the numeric values to strings. Perhaps it has something to do with the way R in interpreting the first column? Thanks! -N On 11/11/10 1:59 PM, William Dunlap wrote: > You are right, I mistyped it. > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > >> -----Original Message----- >> From: John Kane [mailto:jrkrid...@yahoo.ca] >> Sent: Thursday, November 11, 2010 1:58 PM >> To: Peter Langfelder; r-help@r-project.org; William Dunlap >> Subject: Re: [R] Populating then sorting a matrix and/or data.frame >> >> >> >> --- On Thu, 11/11/10, William Dunlap <wdun...@tibco.com> wrote: >> >>> From: William Dunlap <wdun...@tibco.com> >>> Subject: Re: [R] Populating then sorting a matrix and/or data.frame >>> To: "Peter Langfelder" <peter.langfel...@gmail.com>, >> r-help@r-project.org >>> Received: Thursday, November 11, 2010, 4:19 PM >>> Peter, >>> >>> Your example doesn't work for me unless I >>> set options(stringsAsFactors=TRUE) first. >> >> Don't you mean stringsAsFactors=FALSE here? At least I get >> the same results you do but with stringsAsFactors=FALSE The >> TRUE condition is giving multiple NAs and error messages >> >> >> >> >> >>> (If I do set that, then all columns of 'results' >>> have class "character", which I doubt the user >>> wants.) >>> >>>> results <- data.frame() >>>> >>>> n = 10 >>>> for(i in 1:n){ >>> + a = LETTERS[i]; >>> + b = i; >>> + c = 3*i + 2 >>> + d = rnorm(1); >>> + results <- rbind(results, c(a,b,c,d)) >>> + } >>> There were 36 warnings (use warnings() to see them) >>>> warnings()[1:5] >>> $`invalid factor level, NAs generated` >>> `[<-.factor`(`*tmp*`, ri, value = "B") >>> >>> $`invalid factor level, NAs generated` >>> `[<-.factor`(`*tmp*`, ri, value = "2") >>> >>> $`invalid factor level, NAs generated` >>> `[<-.factor`(`*tmp*`, ri, value = "8") >>> >>> $`invalid factor level, NAs generated` >>> `[<-.factor`(`*tmp*`, ri, value = "-0.305558353507095") >>> >>> $`invalid factor level, NAs generated` >>> `[<-.factor`(`*tmp*`, ri, value = "C") >>> >>>> results >>> X.A. X.1. X.5. X.1.43055780028799. >>> 1 A 1 >>> 5 1.43055780028799 >>> 2 <NA> <NA> <NA> >>> <NA> >>> 3 <NA> <NA> <NA> >>> <NA> >>> 4 <NA> <NA> <NA> >>> <NA> >>> 5 <NA> <NA> <NA> >>> <NA> >>> 6 <NA> <NA> <NA> >>> <NA> >>> 7 <NA> <NA> <NA> >>> <NA> >>> 8 <NA> <NA> <NA> >>> <NA> >>> 9 <NA> <NA> <NA> >>> <NA> >>> 10 <NA> <NA> <NA> >>> <NA> >>> >>> Bill Dunlap >>> Spotfire, TIBCO Software >>> wdunlap tibco.com >>> >>>> -----Original Message----- >>>> From: r-help-boun...@r-project.org >>>> [mailto:r-help-boun...@r-project.org] >>> On Behalf Of Peter Langfelder >>>> Sent: Thursday, November 11, 2010 12:25 PM >>>> To: Noah Silverman >>>> Cc: r-help@r-project.org >>>> Subject: Re: [R] Populating then sorting a matrix >>> and/or data.frame >>>> On Thu, Nov 11, 2010 at 11:33 AM, Noah Silverman >>>> <n...@smartmediacorp.com> >>> wrote: >>>>> Still doesn't work. >>>>> >>>>> When using rbind to build the data.frame, it get >>> a >>>> structure mostly full of >>>>> NA. >>>>> The data is correct, so something about pushing >>> into the >>>> data.frame is >>>>> breaking. >>>>> >>>>> Example code: >>>>> results <- data.frame() >>>>> >>>>> for(i in 1:n){ >>>>> #do all the work >>>>> #a is a test label. b,c,d are numeric. >>>>> results <- rbind(results, c(a,b,c,d)) >>>>> } >>>> Works for me: >>>> >>>> results <- data.frame() >>>> >>>> n = 10 >>>> for(i in 1:n){ >>>> a = LETTERS[i]; >>>> b = i; >>>> c = 3*i + 2 >>>> d = rnorm(1); >>>> results <- rbind(results, c(a,b,c,d)) >>>> } >>>> >>>> >>>>> results >>>> X.A. X.1. X.5. X.0.142223304589023. >>>> 1 A 1 >>> 5 0.142223304589023 >>>> 2 B 2 >>> 8 0.243612305595176 >>>> 3 C >>> 3 11 0.476795513990516 >>>> 4 D >>> 4 14 1.0278220664213 >>>> 5 E >>> 5 17 0.916608672305205 >>>> 6 F >>> 6 20 >>> 1.61075985995586 >>>> 7 G >>> 7 23 0.370423691258896 >>>> 8 H >>> 8 26 -0.0528603547004191 >>>> 9 I >>> 9 29 -2.07888666920403 >>>> 10 >>> J 10 32 >>> -1.87980721733655 >>>> Maybe there's something wrong with the calculation you >>> do? >>>> Peter >>>> >>>> ______________________________________________ >>>> 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. >>> ______________________________________________ >>> 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. >>> >> >> > ______________________________________________ > 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. ______________________________________________ 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.