[R] Populating then sorting a matrix and/or data.frame

John Kane jrkrideau at yahoo.ca
Thu Nov 11 22:57:33 CET 2010



--- On Thu, 11/11/10, William Dunlap <wdunlap at tibco.com> wrote:

> From: William Dunlap <wdunlap at tibco.com>
> Subject: Re: [R] Populating then sorting a matrix and/or data.frame
> To: "Peter Langfelder" <peter.langfelder at gmail.com>, r-help at 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-bounces at r-project.org
> 
> > [mailto:r-help-bounces at r-project.org]
> On Behalf Of Peter Langfelder
> > Sent: Thursday, November 11, 2010 12:25 PM
> > To: Noah Silverman
> > Cc: r-help at 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
> > <noah at 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 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.
> 





More information about the R-help mailing list