Hola a todos
QuerÃa preguntaros por una forma de hacer esto?
Supongamos que tengo un data Frame parecido a esto:
df <- data.frame(c(12,50,75,100,135), c("Entra", "Sale", "Entra", "Sale", "Entra"))
names(df) <- c("n", "estado?)
n estado
1 12 Entra
2 50 Sale
3 75 Entra
4 100 Sale
5 135 Entra
Donde n como máximo puede ser 150, por ejemplo.
NecesitarÃa extraer un vector con los Ãndices donde el estado es = a ?Entra?, hasta que ?Sale?.
Es decir, necesitarÃa que el vector resultante sea c(12:49, 75:99, 135:150).
Gracias de antemano
Saludos
[R-es] Calcular vector, por filas, que cumpla una condición
5 messages · jmcontreras, Jorge I Velez, Javier Marcuzzi +1 more
Estimado Busque en internet data.frame seleccionar por condición, dee haber más de 10 formas distintas.Todas válidas, y si hay tantas debe ser porque cada una tiene una aparente ventaja o gusto personal sobre la otra. Df[df$columna == ´quiero´,] Javier Rubén Marcuzzi
El 8 jul. 2022, a las 09:25, Jose Miguel Contreras <jmcontreras en ugr.es> escribió:
Hola a todos
QuerÃa preguntaros por una forma de hacer esto?
Supongamos que tengo un data Frame parecido a esto:
df <- data.frame(c(12,50,75,100,135), c("Entra", "Sale", "Entra", "Sale", "Entra"))
names(df) <- c("n", "estado?)
n estado
1 12 Entra
2 50 Sale
3 75 Entra
4 100 Sale
5 135 Entra
Donde n como máximo puede ser 150, por ejemplo.
NecesitarÃa extraer un vector con los Ãndices donde el estado es = a ?Entra?, hasta que ?Sale?.
Es decir, necesitarÃa que el vector resultante sea c(12:49, 75:99, 135:150).
Gracias de antemano
Saludos
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Jose Miguel, La función rle puede ayudarte a hacer lo que quieres. Saludos, Jorge.- El El vie, 8 de jul. de 2022 a la(s) 7:25 a. m., Jose Miguel Contreras < jmcontreras en ugr.es> escribió:
Hola a todos
QuerÃa preguntaros por una forma de hacer esto?
Supongamos que tengo un data Frame parecido a esto:
df <- data.frame(c(12,50,75,100,135), c("Entra", "Sale", "Entra", "Sale",
"Entra"))
names(df) <- c("n", "estado?)
n estado
1 12 Entra
2 50 Sale
3 75 Entra
4 100 Sale
5 135 Entra
Donde n como máximo puede ser 150, por ejemplo.
NecesitarÃa extraer un vector con los Ãndices donde el estado es = a
?Entra?, hasta que ?Sale?.
Es decir, necesitarÃa que el vector resultante sea c(12:49, 75:99,
135:150).
Gracias de antemano
Saludos
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Sent from my phone. Please excuse my brevity and misspelling. [[alternative HTML version deleted]]
Estimados Claro, hay dos formas para la palabra Ãndice, o yo pienso eso ¿cuál es la correcta? En la pregunta yo interpreto Ãndice como el lugar o fila donde se alojan los datos, supongamos la ubicación i,j como fila y columna, pero Ãndice también es interpretado como cantidad o valoración. El mi primer interpretación, el resultado de la consulta del Ãndice o fila de un data.frame es un vector. Ustedes que son Españoles y deben manejar el idioma mucho mejor que yo, aparte de tener una formación más adecuada. ¿Está bien lo que yo pienso o estoy equivocado? Javier Rubén Marcuzzi
El 8 jul. 2022, a las 10:44, Jorge I Velez <jorgeivanvelez en gmail.com> escribió: rle
Hola, José Miguel:
Yo lo pasarÃa a formato "ancho" (dos columnas con "Entra" y "Sale") y
las unirÃa.
library(tidyverse)
df <- data.frame(n = c(12, 50, 75, 100, 135), estado = c("Entra",
"Sale", "Entra", "Sale", "Entra"))
df |>
 add_case(n = 150, estado = "Sale") |>
 mutate(id = cumsum(ifelse(estado == "Entra", 1, 0))) |>
 pivot_wider(names_from = "estado", values_from = "n") |>
 mutate(dif = paste0(Entra, ":", Sale - 1))
Ya de ahà generalizas como necesites (cambiando el 150 o dejando solo el
vector, p. ej.).
Un saludo,
Ãlvaro
On 7/8/22 14:25, Jose Miguel Contreras wrote:
Hola a todos
QuerÃa preguntaros por una forma de hacer esto?
Supongamos que tengo un data Frame parecido a esto:
df <- data.frame(c(12,50,75,100,135), c("Entra", "Sale", "Entra", "Sale", "Entra"))
names(df) <- c("n", "estado?)
n estado
1 12 Entra
2 50 Sale
3 75 Entra
4 100 Sale
5 135 Entra
Donde n como máximo puede ser 150, por ejemplo.
NecesitarÃa extraer un vector con los Ãndices donde el estado es = a ?Entra?, hasta que ?Sale?.
Es decir, necesitarÃa que el vector resultante sea c(12:49, 75:99, 135:150).
Gracias de antemano
Saludos
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Ãlvaro Hernández Vicente Investigador predoctoral (FPU-UM). Grupo de Investigación CardiologÃa ClÃnica y Experimental. Departamento de Medicina Interna. Universidad de Murcia, Murcia, Spain. Edif. LAIB/Departamental, despacho 2.57. Campus de Ciencias de la Salud, Universidad de Murcia. Avenida Buenavista, s/n, 30120, El Palmar, Murcia.