See

>?data.frame

In particular, the stringsAsFactors parameter which defaults to TRUE.


Hope this is helpful,

Dan

Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA 98504-5204


> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-bounces@r-
> project.org] On Behalf Of Ed Siefker
> Sent: Wednesday, August 28, 2013 1:57 PM
> To: r-help@r-project.org
> Subject: [R] why is this a factor?
> 
> I have a table, and I want a new column to add some annotations to.
> But it ends up as a factor instead of characters, and won't let me add
> arbitrary text.
> 
> > data(iris)
> > iris<-data.frame(iris,annot=c(""))
> > iris[1,"annot"]<-"annotation"
> Warning message:
> In `[<-.factor`(`*tmp*`, iseq, value = "annotation") :
>   invalid factor level, NAs generated
> > class(iris[,"annot"])
> [1] "factor"
> > class(c(""))
> [1] "character"
> 
> Why is c("") a character, but when I add it to a data frame it's a
> factor?
> What am I missing?  Is there a better way to add a new column to
> a data frame?
> 
> ______________________________________________
> R-help@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@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.

Reply via email to