[R] manupulating a data frame column

Uwe Ligges ligges at statistik.uni-dortmund.de
Thu Jul 7 23:23:00 CEST 2005


Steven T. wrote:

> Could someone tell me how to fix the following error? It looks like
> that the reason is that df$x is of the class "factor". Thanks!

You are right.

Either don't make it a factor, if you don't want, or try something like 
the following in order to add the relevant levels to df$x1:


x1<-LETTERS[1:8]; x2<-letters[1:8]; x1[2]<-NA; x1[4]<-NA
df<-data.frame(x1=x1, x2=x2)

levels(df$x1) <- c(levels(df$x1), levels(df$x2))

idx<-which(is.na(df$x1))
df[idx,1]<-df[idx,2]


Uwe Ligges

> 
>>x1<-LETTERS[1:8]; x2<-letters[1:8]; x1[2]<-NA; x1[4]<-NA;
>>df<-data.frame(x1=x1, x2=x2)
>>idx<-which(is.na(df$x1))
>>df[idx,1]<-df[idx,2]
> 
> Warning message:
> invalid factor level, NAs generated in: "[<-.factor"(`*tmp*`, iseq,
> value = c(2, 4))
> 
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html




More information about the R-help mailing list