[R] Comparing values of different columns: Error: level sets of factors are different

David Winsemius dwinsemius at comcast.net
Sat Oct 18 05:36:22 CEST 2014


On Oct 17, 2014, at 1:21 PM, Chichi Shu wrote:

> Hi, R listers,
> I¡¯m trying to compare a value of a row in a column to values of previous rows in another column in a loop. ¡°i¡± is just from first row to the last row. j is an another looping controller indicating the rows that row[i] will be compared to and j will be rows before row[i]. I want to compare phone_1[i] with phone_2[j] and vise versa.
> for (i in 1: nrow(df)) {
>  if (df$Incremental[i] == 1) {mark[i] <- 1}
>    else {for (j in (i ¨C df$Incremental[i] + 1) : (i - 1)) {
>      if ((df$Phone_1[i] != "" & df$Phone_1[i] == df$Phone_2[j]) | (df$Phone_2[i] != "" & df$Phone_2[i] == df$Phone_1[j])) {
>        mark[i] <- mark[j]}
>          else {mark[i] <- mark[i-1] + 1}
>                                                                                   }
> }
> However I¡¯m getting an error with phone_1[i] and phone_2[j], indicating that ¡°level sets of factors are different¡±. I¡¯m not sure what I need to do to fix it.

Factor fixing. An ancient, aRcane sport.

Perhaps:
lev2 <- unique( c( levels(phone_1), levels(phone_2) ) )
phone_1 <- factor(phone_1, levels=lev2)
phone_2 <- factor(phone_2, levels=lev2)




> Thanks!
> 	[[alternative HTML version deleted]]

And HTML posting is not well supported. Learn to post in that most ancient of computer tongues, plain text.

> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

-- 

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list