Reputation: 15
I can't get as.factor to recognise a set of levels. For whatever reason I just can't see the error/typo. It's driving me mad.
The code is:
yearsPostEDI<-as.matrix(namedat$`Days post EDI`)
yearsPostEDI<-as.numeric(yearsPostEDI)/365
yearsPostEDI<-round(yearsPostEDI,0)
yearsPostEDI[1:10]<-c(rep("HIV_neg",10))
yearsPostEDI[yearsPostEDI == "0"] <- "<1 Year"
yearsPostEDI[yearsPostEDI == "1"] <- "1 Year"
yearsPostEDI[yearsPostEDI == "2"] <- "2 Years"
yearsPostEDI[yearsPostEDI == "3"] <- "3 Years"
yearsPostEDI[yearsPostEDI == "4"] <- "4 Years"
yearsPostEDI[yearsPostEDI == "5"] <- ">4 Years"
yearsPostEDI[yearsPostEDI == "6"] <- ">4 Years"
yearsPostEDI[yearsPostEDI == "7"] <- ">4 Years"
yearsPostEDI<-as.factor(yearsPostEDI, levels = c("HIV_neg", "<1 Year", "1 Year", "2 Years", "3 Years", "4 Years", ">4 Years"))
yearsPostEDI
The error message is:
Error in as.factor(yearsPostEDI, levels = c("HIV_neg", "<1 Year", "1 Year", :
unused argument (levels = c("HIV_neg", "<1 Year", "1 Year", "2 Years", "3 Years", "4 Years", ">4 Years"))
Upvotes: 1
Views: 1383
Reputation: 8117
You need
yearsPostEDI<-factor(yearsPostEDI, levels = c("HIV_neg", "<1 Year", "1 Year", "2 Years", "3 Years", "4 Years", ">4 Years"))
factor()
not as.factor()
Upvotes: 3