[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