If you don't mind an extra column, you could use something similar to: data.frame(r=seq(8),foo=NA,bar=NA)
If you do, here is another approach (see function body): empty.frame <- function (r = 1, n = 1, fill = NA_real_) { data.frame(setNames(lapply(rep(fill, length(n)), rep, times=r), n)) } empty.frame() empty.frame(, seq(3)) empty.frame(8, c("foo", "bar")) I could not put it in one line either, without retyping at least one argument (n in this case). So I suggest a function is the way to go for a simplified syntax ... Thanks to all for the ideas! Sven On 31 March 2015 at 20:55, William Dunlap <wdun...@tibco.com> wrote: > You can use structure() to attach the names to a list that is input to > data.frame. > E.g., > > dfNames <- c("First", "Second Name") > data.frame(lapply(structure(dfNames, names=dfNames), > function(name)rep(NA_real_, 5))) > > > Bill Dunlap > TIBCO Software > wdunlap tibco.com > > On Tue, Mar 31, 2015 at 11:37 AM, Sarah Goslee <sarah.gos...@gmail.com> > wrote: > > > Hi, > > > > Duncan Murdoch suggested: > > > > > The matrix() function has a dimnames argument, so you could do this: > > > > > > names <- c("strat", "id", "pid") > > > data.frame(matrix(NA, nrow=10, ncol=3, dimnames=list(NULL, names))) > > > > That's a definite improvement, thanks. But no way to skip matrix()? It > > just seems unRlike, although since it's only full of NA values there > > are no coercion issues with column types or anything, so it doesn't > > hurt. It's just inelegant. :) > > > > 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. > > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > [[alternative HTML version deleted]] ______________________________________________ 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.