[R] A logical comparison between two character strings in R
Petr Pikal
petr.pikal at precheza.cz
Thu Aug 21 17:12:47 CEST 2003
On 21 Aug 2003 at 15:49, Lun Li wrote:
> Thanks.
>
> But, my question is:
>
> > pro.name[1]
> V1
> 1 B-29BT3
> > temp.name[1]
> V1
> 1 A-1H
> > if(tem.name[1]==pro.name[1]){cat("ok")}
>
> Error in Ops.factor(left, right) : Level sets of factors are different
I suppose your variables are actually factors not characer vectors.
see
> temp.name
[1] B-29BT3 ccc-29BT3
Levels: B-29BT3 ccc-29BT3
> pro.name
[1] B-29BT3 B-29BT3
Levels: B-29BT3
> if(temp.name[1]==pro.name[1]){cat("ok")}
Error in Ops.factor(temp.name[1], pro.name[1]) :
Level sets of factors are different
>
but
> pro.name.ch
[1] "B-29BT3" "B-29BT3"
> temp.name.ch
[1] "B-29BT3" "ccc-29BT3"
> if(temp.name.ch[1]==pro.name.ch[1]){cat("ok")}
ok
>
> How to compare them?
make them character, see ?as.character
>
>
> Lun
>
>
>
> Quoting Peter Dalgaard BSA <p.dalgaard at biostat.ku.dk>:
>
> > Lun Li <lun.li at glg.ed.ac.uk> writes:
> >
> > > Dear All,
> > >
> > > Does anyone know how to compare two character strings in R? For
> > eample, how
> > > to compare "A-1-B" with "cc-10000" in logical ?
> >
> > Ehhh... Is it this that you want?
> >
> > > "A-1-B" == "cc-10000"
> > [1] FALSE
> > > "A-1-B" <= "cc-10000"
> > [1] TRUE
> > > "A-1-B" > "cc-10000"
> > [1] FALSE
> > > "d-1-B" > "cc-10000"
> > [1] TRUE
> >
> >
> > --
> > O__ ---- Peter Dalgaard Blegdamsvej 3
> > c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
> > (*) \(*) -- University of Copenhagen Denmark Ph: (+45)
> > 35327918
> > ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45)
> > 35327907
> >
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
Petr Pikal
petr.pikal at precheza.cz
More information about the R-help
mailing list