I just snagged this from Duncan Murdoch's reply to the same question: # Create an empty dataframe to hold the results df <- data.frame(strat=NA, id=NA, pid=NA)[rep(1, length(sel)),]
This skips matrix(), but how to set the column names programmatically within a function? Sarah, still sure I'm missing something obvious On Tue, Mar 31, 2015 at 1:46 PM, Sarah Goslee <sarah.gos...@gmail.com> wrote: > Hi folks, > > I KNOW there has to be a way to do this more elegantly, but I > consistently fail to come up with it, as I was just reminded while > writing an example for a query on this list. > > What's a nifty way to construct a data frame of a given size? The only > way I know of it to use matrix(), eg > > data.frame(matrix(NA, nrow=10, ncol=3)) > > and then to set the colnames in a second step. > > This comes up a lot when pre-allocated a data frame before using a > loop: I know the size and column names, but want an empty structure to > fill later. > > Sarah > -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.