Hi r-help-boun...@r-project.org napsal dne 29.01.2009 10:25:13:
> > Hello > > I have a data set that looks like this; > > > b2 > dato chr status PRRSvac > PRRSsanVac PRRSsanDk PRRSdk > 33 2007-12-03 090432 Rød SPF > 34 2007-02-09 090432 Rød SPF+sanDK > 35 2002-12-17 090432 Rød SPF+DK > 36 2002-11-27 090432 Rød SPF+sanDK > 37 2002-07-23 090432 Rød SPF+DK > 38 2001-08-23 090432 Rød SPF > 39 2000-01-01 090432 SPF-X, PRRS-neg. > 40 1999-05-01 090432 MS-X, PRRS-neg. > 81 2001-08-23 022458 Rød SPF > 82 1999-01-22 022458 SPF-X, PRRS-neg. > 130 2008-10-16 080385 Rød SPF+Myc+Ap2+Nys+DK+Vac > 131 2003-03-18 080385 Rød SPF+Myc+Ap2+DK+Vac > 132 2002-11-01 080385 Rød SPF+Myc+DK+Vac > 133 2002-02-07 080385 Rød SPF+Myc+Vac > 134 2000-09-19 080385 MS-X, PRRS-pos VAC > 135 1999-01-22 080385 MS-X, PRRS-neg > 176 2008-10-28 013168 Rød SPF+Myc+Ap2+Nys+DK+Vac > 177 2003-05-23 013168 Rød SPF+Myc+Ap2+DK+Vac > 178 2002-11-01 013168 Rød SPF+Myc+DK+Vac > 179 2001-07-03 013168 Rød SPF+Myc+Vac > 180 2000-09-01 013168 MS-X, PRRS-pos VAC > 181 2000-06-02 013168 MS-X, PRRS-neg > 182 2000-04-03 013168 SKM-X, +Ap2, PRRS-neg > 183 1999-01-22 013168 MS-X, PRRS-neg > > Where I have used; > > b2$PRRSvac <- ifelse(b2$status=='PRRS-pos VAC' | b2$status=='Vac',1,0) > b2$PRRSdk <- ifelse(b2$status=='PRRS-pos DK' | b2$status=='DK',1,0) > b2$PRRSsanVac <- ifelse(b2$status=='sanVac',1,0) > b2$PRRSsanDk <- ifelse(b2$status=='sanDK',1,0) > > to creat the last four variables, but it wont work!!! The variable status > has class "character". What "wont work!!!" means > zdrzeni sklon ot doba typ spolf spol.f 1 35 3.00 70.00 stand 35.stand 35.stand 2 50 20.00 9.50 stand 50.stand 50.stand 3 50 5.00 29.50 stand 50.stand 50.stand 4 50 15.00 13.00 stand 50.stand 50.stand .... > zdrzeni$v1<-ifelse(zdrzeni$typ=="stand"|zdrzeni$typ=="not", 1,0) > zdrzeni sklon ot doba typ spolf spol.f v1 1 35 3.00 70.00 stand 35.stand 35.stand 1 2 50 20.00 9.50 stand 50.stand 50.stand 1 3 50 5.00 29.50 stand 50.stand 50.stand 1 4 50 15.00 13.00 stand 50.stand 50.stand 1 .... obviously "works", so the problem is in your data and your use of "==". ifelse(x=="abc", 1,0) means that the result is 1 if x is exactly equivalent to "abc" and 0 if x is " abc", "def-abc" or in any other variation. You probably need to use grep and regexpr expression for test but it is not my cup of tea. Regards Petr > > Can anyone help me? > > -- > View this message in context: http://www.nabble.com/Text-in-a-character- > vector-to-indicate-%22ifelse%22-argument-tp21722983p21722983.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. ______________________________________________ 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.