Re: [R-es] Consulta sobre la creación de una columna mediante una condición

2016-10-12 Por tema Jorge I Velez
Buenas noches, Oscar.

No entiendo muy bien que problema tines, pero intenta lo siguiente a
ver si produc lo que buscas:

R> #creo un data frame
R> node = c("TipoDTE","TipoDTE","Other")
R> value = c("33", "35", "")
R> j = data.frame(node, value)
R>
R> j
 node value
1 TipoDTE33
2 TipoDTE35
3   Other
R> with(j, ifelse(node == 'TipoDTE', value, ""))
[1] "2" "3" ""
R> j$TipoDTE.0 <- with(j, ifelse(node == 'TipoDTE', value, "")); j
 node value TipoDTE.0
1 TipoDTE33 2
2 TipoDTE35 3
3   Other
R> j$TipoDTE.0
[1] "2" "3" ""

Saludos,
Jorge.-


2016-10-12 10:09 GMT-05:00 Oscar Benitez :

> Hola
>
> Tengo una consulta simple pero que me está costando resolver
>
> #creo un data frame
> node = c("TipoDTE","TipoDTE","Other")
> value = c("33", "35", "")
> j = data.frame(node, value)
>
> en este punto el dataframe tiene dos campos "node" y "value" que R reconoce
> como factores de la siguiente manera:
> node:  Factor w/ 2 levels "Other","TipoDTE": 2 2 1
> value:   Factor w/ 3 levels "","33", "35" : 2 3 1
>
> Quiero crear un campo nuevo mediante una condición:
>
> j$TipoDTE.0<-ifelse (j$node=="TipoDTE",j$value,"")
>
> Y el resultado es:
>
> node value TipoDTE.0
> TipoDTE 33 2
> TipoDTE 35 3
> Other
>
>
> Lo que veo que está haciendo es colocar los niveles del factor en lugar del
> valor del factor
> Evidentemente estoy haciendo algo mal, pero no encuentro qué es...
>
> Cualquier ayuda será apreciada.
>
> Saludos
>
>
> --
> Oscar Benitez
>
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Consulta sobre la creación de una columna mediante una condición

2016-10-12 Por tema Mauricio Monsalvo
Hola.
Creo que me sucedió algo parecido no hace mucho y "La Lista" me respondió
algo así como: R por defecto trabaja con los labels de los factores.
Entonces, al copiar pega todos las etiquetas (asumo que lo que llamás
"niveles") de los factores y no el "valor". En mi caso, era más claro
porque los valores eran números x <- 10, 15, 20, 30 pero los había
entendido como "factores" y las etiquetas (niveles) los había asignado
automáticamente, asumiendo un orden secuencial del tipo 1:length(x), o sea:
1, 2, 3, 4 (la posición de cada valor en el vector).-
La forma de resolverlo fue usando as.character(x), de modo que no asigne
etiquetas a los valores. Luego de realizado el copiado condicional, puedes
volverlo factor usando as.factor(x).-
Funcionaría...
Abrazo.

El 12 de octubre de 2016, 12:09, Oscar Benitez 
escribió:

> Hola
>
> Tengo una consulta simple pero que me está costando resolver
>
> #creo un data frame
> node = c("TipoDTE","TipoDTE","Other")
> value = c("33", "35", "")
> j = data.frame(node, value)
>
> en este punto el dataframe tiene dos campos "node" y "value" que R reconoce
> como factores de la siguiente manera:
> node:  Factor w/ 2 levels "Other","TipoDTE": 2 2 1
> value:   Factor w/ 3 levels "","33", "35" : 2 3 1
>
> Quiero crear un campo nuevo mediante una condición:
>
> j$TipoDTE.0<-ifelse (j$node=="TipoDTE",j$value,"")
>
> Y el resultado es:
>
> node value TipoDTE.0
> TipoDTE 33 2
> TipoDTE 35 3
> Other
>
>
> Lo que veo que está haciendo es colocar los niveles del factor en lugar del
> valor del factor
> Evidentemente estoy haciendo algo mal, pero no encuentro qué es...
>
> Cualquier ayuda será apreciada.
>
> Saludos
>
>
> --
> Oscar Benitez
>
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Mauricio

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Consulta sobre la creación de una columna mediante una condición

2016-10-12 Por tema Oscar Benitez
Hola

Tengo una consulta simple pero que me está costando resolver

#creo un data frame
node = c("TipoDTE","TipoDTE","Other")
value = c("33", "35", "")
j = data.frame(node, value)

en este punto el dataframe tiene dos campos "node" y "value" que R reconoce
como factores de la siguiente manera:
node:  Factor w/ 2 levels "Other","TipoDTE": 2 2 1
value:   Factor w/ 3 levels "","33", "35" : 2 3 1

Quiero crear un campo nuevo mediante una condición:

j$TipoDTE.0<-ifelse (j$node=="TipoDTE",j$value,"")

Y el resultado es:

node value TipoDTE.0
TipoDTE 33 2
TipoDTE 35 3
Other


Lo que veo que está haciendo es colocar los niveles del factor en lugar del
valor del factor
Evidentemente estoy haciendo algo mal, pero no encuentro qué es...

Cualquier ayuda será apreciada.

Saludos


-- 
Oscar Benitez

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es