[R] error in IF condition with factor evaluation

Eik Vettorazzi E.Vettorazzi at uke.de
Fri Nov 23 14:25:33 CET 2012


Hi Edoardo,
there is a difference between comparisons and assignments, both
semantically as well as in R syntax: "==" vs "=" or "<-", latter being
more obvious an assignment.
This is the source of your error.
But to change the labels of a factor object, it is easier to do sth like

at<-factor(1:5,labels=letters[1:5])
at
levels(at)[3]<-"xyz"
at   #check

hth



Am 23.11.2012 10:42, schrieb edoardo baldoni:
> Cam anyone tell me why the condition x[i] == "DISCONECTED" looks like
> producing an NA instead of TRUE/FALSE
> 
> I would like to rename "DISCONNECTED" those factors inside the variable
> "dataset$STATUS.x" that are named "DISCONECTED"
> 
> thank you
> 
> 
>> summary(dataset$STATUS.x)
>      ACTIVE DISCONECTED     PENDING   SUSPENDED  TERMINATED
>      158869      169181        3028        8565       47233
>        NA's
>           6
>> class(dataset$STATUS.x)
> [1] "factor"
>>
>> fff = function(x) {
> + for (i in 1:length(x)){
> + if (x[i] == "DISCONECTED") {
> + x[i] == "DISCONNECTED"
> + } else x[i] == x[i]
> + }
> + return(x)
> + }
>>
>> r = fff(dataset$STATUS.x)
> Error in if (x[i] == "DISCONECTED") { :
>   missing value where TRUE/FALSE needed
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at 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.
> 


-- 
Eik Vettorazzi
Institut für Medizinische Biometrie und Epidemiologie
Universitätsklinikum Hamburg-Eppendorf

Martinistr. 52
20246 Hamburg

T ++49/40/7410-58243
F ++49/40/7410-57790
--
Pflichtangaben gemäß Gesetz über elektronische Handelsregister und Genossenschaftsregister sowie das Unternehmensregister (EHUG):

Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg

Vorstandsmitglieder: Prof. Dr. Martin Zeitz (Vorsitzender), Dr. Alexander Kirstein, Joachim Prölß, Prof. Dr. Dr. Uwe Koch-Gromus




More information about the R-help mailing list