[R] problem with cbind

Liaw, Andy andy_liaw at merck.com
Wed Feb 1 22:35:30 CET 2006


That's because:

> as.numeric(factor(c(0, 1)))
[1] 1 2

The underlying representation of a factor, say `x', is to use integers 1
through nlevels(x).  If you do anything that simply convert the factor to
numeric, you just get these codes.

If you create a data frame (instead of simply cbind()ing them together)
you'll retain them as factors.

Andy

From: Ana Patricia Martins
> 
> Hello,
> 
>  
> 
> I think this is Sill question but it's happens......
> 
>  
> 
>  
> 
> am$e_isell <- factor( with( am, ifelse( e_iacc == 1 & C5 == 1, 1, 0)))
> 
>  
> 
> summary (am$e_isell)
> 
>    0    1 
> 
> 3966  296
> 
> (Ok)
> 
>  
> 
> am$e_isell [4256]
> 
> [1] 1
> 
> Levels: 0 1
> 
> (OK)
> 
>  
> 
>  
> 
>  cbind( am$e_isell[4256], am$C6[4256])
> 
>      [,1] [,2]
> 
> [1,] "2"  "1"
> 
> (??)
> 
>  
> 
> cbind( am$e_isell[4256])
> 
>      [,1] 
> 
> [1,] "2"  
> 
> (??)
> 
>  
> 
>  
> 
> Does anyone understand why this happens?
> 
>  
> 
>  
> 
> Atenciosamente
> 
> Ana Patricia Martins
> 
> -------------------------------------------
> 
> Serviço Métodos Estatísticos
> 
> Departamento de Metodologia Estatística
> 
> Telef:  218 426 100 - Ext: 3210
> 
> E-mail:  <mailto:ana.pmartins at ine.pt> ana.pmartins at ine.pt
> 
>  
> 
> 
> 	[[alternative HTML version deleted]]
> 
>




More information about the R-help mailing list