An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20121123/eeb32500/attachment.pl>
error in IF condition with factor evaluation
4 messages · Edoardo Baldoni, Eik Vettorazzi, Rui Barradas +1 more
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
Hello, Try if (!is.na(x[i]) && x[i] == "DISCONECTED") Hope this helps, Rui Barradas Em 23-11-2012 09:42, edoardo baldoni escreveu:
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.
Hi
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- project.org] On Behalf Of Rui Barradas Sent: Friday, November 23, 2012 2:37 PM To: edoardo baldoni Cc: R-help at r-project.org Subject: Re: [R] error in IF condition with factor evaluation Hello, Try if (!is.na(x[i]) && x[i] == "DISCONECTED") Hope this helps, Rui Barradas Em 23-11-2012 09:42, edoardo baldoni escreveu:
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"
If dataset$STATUS.x is factor, you can use levels(dataset$STATUS.x)[2] <-"DISCONNECTED" to rename second level (which appears to be DISCONECTED) Regaards Petr
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.
______________________________________________ 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.