[R] Adding a column to an **empty** data.frame
William Dunlap
wdunlap at tibco.com
Wed Nov 2 14:59:01 CET 2016
Give your new column a vector type - NULL cannot be extended beyond length
0. Also, the syntax df$col<-NULL means to remove 'col' from 'df'.
> df <- data.frame(id=integer(0), data=numeric(0))
> df$new.col <- character(0)
> str(df)
'data.frame': 0 obs. of 3 variables:
$ id : int
$ data : num
$ new.col: chr
(Think of 'zero-row' or 'zero-column' data.frames, not 'empty' data.frames,
which could be either.)
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Wed, Nov 2, 2016 at 6:48 AM, Emmanuel Levy <emmanuel.levy at gmail.com>
wrote:
> Dear All,
>
> This sounds simple but can't figure out a good way to do it.
>
> Let's say that I have an empty data frame "df":
>
> ## creates the df
> df = data.frame( id=1, data=2)
>
> ## empties the df, perhaps there is a more elegant way to create an empty
> df?
> df = df[-c(1),]
>
> > df
> [1] id data
> <0 rows> (or 0-length row.names)
>
> Now, how can I add a third column name to that empty df?
>
> Normally I would use df$new.col = 1
>
> But here I can't use this because it's empty!
>
> I tried df$new.col=NULL -- this doesn't give an error but doesn't add the
> column.
>
> Thanks for your help,
>
> Emmanuel
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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]]
More information about the R-help
mailing list