Hi, I have a vector a=c(NA, 3, 4, 4, NA, NA, 3) and I would like to use is.na(a) function to get a vector like this: wy=(1,2,2,2,1,1,2) - you know, this vector create 1 or 2 depends on value in vector "a" This is my short code but something is wrong and I don't know what...
for (i in 1:7){ a=c( NA, 3, 4, 4, NA, NA, 3) fun1=function(x){ x=1 print(x) } fun2=function(x){ x=2 print(x) } wy[i]<- ifelse(((is.na(a))), fun1(x), fun2(x)) } [1] 1 [1] 2 [1] 1 [1] 2 [1] 1 [1] 2 [1] 1 [1] 2 [1] 1 [1] 2 [1] 1 [1] 2 [1] 1 [1] 2 and I get a lots of warnings: Warning messages: 1: In wy[i] <- ifelse(((is.na(a))), fun1(x), fun2(x)) : number of items to replace is not a multiple of replacement length 2: In wy[i] <- ifelse(((is.na(a))), fun1(x), fun2(x)) : number of items to replace is not a multiple of replacement length... and as an result I get a vector only with 1 > wy [1] 1 1 1 1 1 1 1 I'll be very happy if someone help me -- View this message in context: http://www.nabble.com/ifelse%28is.na%29%2C-with-function-inside-tp24063455p24063455.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@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.