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.

Reply via email to