Re: [R-es] uso de switch o alternativa

2020-03-05 Por tema Juan Carlos Lopez Mesa
x <- seq(0, 350, 10)

cut(x =x, breaks = c(min(x), 100, 200, 300, max(x)),
labels = c("<100", "100-200", "200-300", ">300"),
include.lowest = TRUE)


cut(x =x, breaks = c(min(x), 100, 200, 300, max(x)), include.lowest = TRUE)


El jue., 5 mar. 2020 a las 14:42, Enrique RAMOS via R-help-es (<
r-help-es@r-project.org>) escribió:

> Estimados colegas:Tengo un problema que debe de tener una solución simple
> pero ya me entrampe.tengo un conjunto de valores para ciertos elementos, y
> se debe asignar un valor ente 1 y 4, según un rango, he estado intentándolo
> hacer con switch pero no me ha funcionadola idea es la siguiente tengo el
> elemento 1, y se debe de asignar un valor de acuerdo a la siguiente tabla
>
> | 1 | 2 | 3 | 4 |
>  |  |
> |
> < 100| 100-200 | 200-300 | >300 |
>  |  |
>
> de antemano agradezco la ayuda
> Saludos Enrique RAMOSIngeniero oficina de confiabilidadLAPEM - CFE
> [[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] Nombrar primer columna data.frame

2020-03-05 Por tema Andrés Hirigoyen
Muchas gracias Carlos.
Siempre al firme
Saludos

El jue., 5 de mar. de 2020 a la(s) 19:01, Carlos Ortega (
c...@qualityexcellence.es) escribió:

> Hola,
> Esa columna realmente son los rownames() de tu data.frame...
> Y como tal la puedes incorporar de esta forma:
>
> tu_df$tratamientos <- rownames(tu_df)
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
>
> El jue., 5 mar. 2020 a las 22:46, Andrés Hirigoyen (<
> andreshirigo...@gmail.com>) escribió:
>
>> Buenas trades, mi consulta es la siguiente:
>> Al generar un data frame la primer columna siempre aparece sin etiqueta.
>> Al guardar un objeto groups de la función aov en esa columna quedan los
>> tratamientos. ¿Como es posible ponerle una etiqueta y trabajarla como una
>> variable mas?
>> Anexo un ejemplo.
>>
>> [image: image.png]
>> muchas gracias
>> --
>> *Andrés Hirigoyen*
>> * Prof. Ciencias Biológicas*
>> *Ing. Agr. Forestal (MSc) *
>> ___
>> R-help-es mailing list
>> R-help-es@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>


-- 
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Nombrar primer columna data.frame

2020-03-05 Por tema Carlos Ortega
Hola,
Esa columna realmente son los rownames() de tu data.frame...
Y como tal la puedes incorporar de esta forma:

tu_df$tratamientos <- rownames(tu_df)

Saludos,
Carlos Ortega
www.qualityexcellence.es



El jue., 5 mar. 2020 a las 22:46, Andrés Hirigoyen (<
andreshirigo...@gmail.com>) escribió:

> Buenas trades, mi consulta es la siguiente:
> Al generar un data frame la primer columna siempre aparece sin etiqueta.
> Al guardar un objeto groups de la función aov en esa columna quedan los
> tratamientos. ¿Como es posible ponerle una etiqueta y trabajarla como una
> variable mas?
> Anexo un ejemplo.
>
> [image: image.png]
> muchas gracias
> --
> *Andrés Hirigoyen*
> * Prof. Ciencias Biológicas*
> *Ing. Agr. Forestal (MSc) *
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] Nombrar primer columna data.frame

2020-03-05 Por tema Andrés Hirigoyen
Buenas trades, mi consulta es la siguiente:
Al generar un data frame la primer columna siempre aparece sin etiqueta. Al
guardar un objeto groups de la función aov en esa columna quedan los
tratamientos. ¿Como es posible ponerle una etiqueta y trabajarla como una
variable mas?
Anexo un ejemplo.

[image: image.png]
muchas gracias
-- 
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Colocar objeto Dates dentro de un vector.

2020-03-05 Por tema Jaume Tormo
Hola a todos,

Álvaro, has dado en el clavo, eso es lo que pasaba. Me imagino que no hay
manera de meter una lista dentro de un vector.
Al final he usado tu sugerencia. Y me queda así:

# preliminares
  install.packages( lubridate ); library( lubridate )
  v <- c(0, 0, 0)
  original <- c(2019, 308, 1700, 25) # c(año, día del año, hora,
temperatura) esto sale así de un sensor de temperatura

# convertimos los datos originales en algo que entienda R
  a <- years(original[1] )
  d <- days(original[2]-1 ) # el -1 es un ajuste por como son los datos
originales
  h <- hours( substr(original[3], 1, 2) )
  fecha <- a+d+h # Conseguimos una fecha completa
  fecha.b <- as.Date(fecha, origin="-01-01" ) # convertimos la fecha en
días del mes en lugar de días del año
  fecha.c <- as.character(fecha.b)

# Ahora sí que funciona
  v[3] <- fecha.c
  v
  [1] "0"   "0"   "2019-11-04 17:00:00"

Muchas gracias a todos.

Jaume.



El mar., 25 feb. 2020 a las 11:01, Álvaro Hernández Vicente ()
escribió:

> Hola, Jaume:
>
> El problema que tienes en tu enfoque y por lo que R no te deja añadir
> esa fecha al vector es que no es un valor lo que intentas sustituir. Tu
> 'fecha' lo que contiene es un objeto 'Period' de lubridate y 'fecha.b'
> verás que es de tipo POSIXlt, que viene a ser internamente como una
> lista (mira ?DateTimeClasses). Puedes comprobarlo con:
>
> str(fecha)
> class(fecha.b)
>
> Si quieres mantener tu enfoque (que muchas veces es lo que uno mejor
> entiende) podrías guardar tu fecha como una cadena (tu vector cambiará a
> tipo character) o guardarlo tal cual en el vector (que se te convertirá
> a numérico, como se guardan las fechas, desde 1970-01-01).
>
> string <- paste0(original[1:3], collapse = "-")
> fecha <- parse_date_time(string, orders = "%y-%j-%H%M")
>
> # opción 1
> v <- c(0, 0, 0)
> v[1] <- as.character(fecha)
> as_datetime(v)
>
> # opción 2
> v <- c(0, 0, 0)
> v[1] <- fecha
> as_datetime(v)
>
> Un saludo
> Álvaro
>
> El 24/2/20 a las 21:54, Jaume Tormo escribió:
> >   Muchas gracias,
> >
> > Probaré eso también y ya os cuento.
> >
> > Jaume.
> >
> > El lun., 17 feb. 2020 a las 22:10, Javier Marcuzzi (<
> > javier.ruben.marcu...@gmail.com>) escribió:
> >
> >> Estimado Jaume Tormo
> >>
> >> En lo personal yo utilizo un enfoque como el que comenta Carlos Ortega,
> se
> >> me ocurre que posiblemente funcione si a su código le coloca algo de
> >> formato, me refiero a esta forma:
> >>
> >> as.Date("10/21/2012", format = "%m/%d/%Y")
> >>
> >> Javier Rubén Marcuzzi
> >>
> >> El lun., 17 feb. 2020 a las 17:55, Jaume Tormo ()
> >> escribió:
> >>
> >>> Carlos, muchas gracias, voy a probarlo.
> >>> Pero me sigue intrigando por que no puedo ponerlo como elemento de un
> >>> vector... Misterios del R. SI lo averiguo os lo digo.
> >>>
> >>> Jaume.
> >>>
> >>> El sáb., 15 feb. 2020 a las 19:08, Carlos Ortega (<
> >>> c...@qualityexcellence.es>)
> >>> escribió:
> >>>
>  Hola,
> 
>  Una alternativa que te puede ayudar es enfocar el problema de esta
> otra
>  forma.
>  Puedes ir guardando tus vectores "original" en un data.frame y luego
>  convertirlo a fechas.
> 
>  Una vez tienes estas fechas, puedes hacer cálculos o extraer otras
>  variables.
> 
> 
> > original<-c(2019,308,1700, 25)
> > df <- data.frame(
>  +   Year = original[1],
>  +   DayNum = original[2],
>  +   Hour = original[3]
>  + )
> > my_fecha <- strptime( paste(df$Year, df$DayNum, df$Hour, sep = ""),
>  "%Y%j%H" )
> > my_fecha
>  [1] "2019-11-04 17:00:00 CET"
> > my_fecha <- strptime( paste(original[1], original[2], original[3],
> >>> sep =
>  ""), "%Y%j%H" )
> > my_fecha
>  [1] "2019-11-04 17:00:00 CET"
> 
>  Gracias,
>  Carlos Ortega
>  www.qualityexcellence.es
> 
> 
>  El sáb., 15 feb. 2020 a las 12:45, Jaume Tormo ( >)
>  escribió:
> 
> > Hola,
> >
> > Estoy encontrando un problema al intentar poner un objeto Dates en un
> > vector o dataframe.
> > Mi ejemplo
> > # preliminares
> >install.packages( lubridate ); library( lubridate )
> >v <- c(0, 0, 0)
> >original<-c(2019,308,1700, 25) # c(año, día del año, hora,
> >>> temperatura)
> > esto sale así de un sensor de temperatura
> >
> > # convertimos los datos originales en algo que entienda R
> >a <- years(original[1] )
> >d <- days(original[2]-1 ) # el -1 es un ajuste por como son los
> datos
> > originales
> >h <- hours( substr(original[3], 1, 2) )
> >fecha <- a+d+h # Conseguimos una fecha completa
> >fecha.b <- as.Date(fecha, origin="-01-01" ) # convertimos la
> >>> fecha
> > en
> > días del mes en lugar de días del año
> > # mi problema
> ># Si asigno fecha a un elemento de un vector me sale 0
> >v[2] <- fecha
> >v[2]
> ># Si asigno fecha.b a un elemento de un vector me da un 

Re: [R-es] uso de switch o alternativa

2020-03-05 Por tema neo
Como siempre ando apurado haciendo las tareas, siempre lo hago con 
ifelse aunque seguro hay alguna forma más eficiente, pero no he tenido 
tiempo de investigar. Algo así quizá:



library(data.table)

tus.datos <- as.data.table(tus.datos)

tus.datos[ , newcol:=ifelse( oldcol < 100, 1, ifelse( oldcol < 200, 2 , 
ifelse( oldcol < 300, 3 , 4 ))) ]




ojo con los límites xq has incluído el 200 en dos de los intervalos. 
Ojalá sirva.


Saludos !!



On 05-03-20 16:41, Enrique RAMOS via R-help-es wrote:

Estimados colegas:Tengo un problema que debe de tener una solución simple pero 
ya me entrampe.tengo un conjunto de valores para ciertos elementos, y se debe 
asignar un valor ente 1 y 4, según un rango, he estado intentándolo hacer con 
switch pero no me ha funcionadola idea es la siguiente tengo el elemento 1, y 
se debe de asignar un valor de acuerdo a la siguiente tabla

| 1 | 2 | 3 | 4 |
  |  |
|
< 100    | 100-200 | 200-300 | >300 |
  |  |

de antemano agradezco la ayuda
Saludos Enrique RAMOSIngeniero oficina de confiabilidadLAPEM - CFE
[[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-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


[R-es] uso de switch o alternativa

2020-03-05 Por tema Enrique RAMOS via R-help-es
Estimados colegas:Tengo un problema que debe de tener una solución simple pero 
ya me entrampe.tengo un conjunto de valores para ciertos elementos, y se debe 
asignar un valor ente 1 y 4, según un rango, he estado intentándolo hacer con 
switch pero no me ha funcionadola idea es la siguiente tengo el elemento 1, y 
se debe de asignar un valor de acuerdo a la siguiente tabla

| 1 | 2 | 3 | 4 | 
 |  |
| 
< 100    | 100-200 | 200-300 | >300 | 
 |  |

de antemano agradezco la ayuda
Saludos Enrique RAMOSIngeniero oficina de confiabilidadLAPEM - CFE
[[alternative HTML version deleted]]

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