Noah Silverman
2010-Nov-11 05:02 UTC
[R] Populating then sorting a matrix and/or data.frame
Hi,
I have a process in R that produces a lot of output. My plan was to
build up a matrix or data.frame "row by row", so that I'll have a
nice
object with all the resulting data.
I started with:
results <- matrix(ncol=3)
names(results) <- c("one", "two", "three")
Then, when looping through the data:
results <- rbind(results, c(a,b,c))
This seems to work fine. BUT, my problem arises when I want to filter,
sort, etc.
I tried (thinking like a data.frame):
results[results$c < 100,]
But that fails.
I tried making it a data.frame with
foo <- data.frame(results)
But that converted all the numeric values to factors!!! Which causes a
whole mess of problems.
Any ideas??
-N
Michael Bedward
2010-Nov-11 07:16 UTC
[R] Populating then sorting a matrix and/or data.frame
Hello Noah, If you set these names...> names(results) <- c("one", "two", "three")this won't work...> results[results$c < 100,]because you don't have a column called "c" (unless that's just a typo in your post).> I tried making it a data.frame with > foo <- data.frame(results) > > But that converted all the numeric values to factors!!!Not sure what's going on there. If 'results' is a numeric matrix you should get a data.frame with numeric cols since under the hood this is just calling the as.data.frame function. Michael On 11 November 2010 16:02, Noah Silverman <noah at smartmediacorp.com> wrote:> Hi, > > I have a process in R that produces a lot of output. ?My plan was to build > up a matrix or data.frame "row by row", so that I'll have a nice object with > all the resulting data. > > I started with: > results <- matrix(ncol=3) > names(results) <- c("one", "two", "three") > > Then, when looping through the data: > results <- rbind(results, c(a,b,c)) > > This seems to work fine. BUT, my problem arises when I want to filter, sort, > etc. > > I tried (thinking like a data.frame): > results[results$c < 100,] > > But that fails. > > I tried making it a data.frame with > foo <- data.frame(results) > > But that converted all the numeric values to factors!!! ?Which causes a > whole mess of problems. > > Any ideas?? > > -N > > ______________________________________________ > 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. >