[R-es] Consulta filtro múltiple.

juan manuel dias ju@m@d|@@ @end|ng |rom gm@||@com
Jue Jul 1 17:38:18 CEST 2021


Hola! Si, pense en librería sqldf! Gracias!

El jue., 1 de jul. de 2021 4:25 a.m., <
miguel.angel.rodriguez.muinos using sergas.es> escribió:

> Hola Juan Manuel.
>
>
> Otro enfoque (de la vieja escuela)....
>
>
> base <- read.csv2("base_monodrogas.csv")
>
> library(sqldf)
>
> ​seleccion <- sqldf("select * from base where (monodroga='aciclovir' AND
> UNIDADES=20) OR (monodroga='paracetamol' AND UNIDADES=10) ")
>
>
> Más info del paquete sqldf aquí -> https://rquer.netlify.app/sql/
>
>
>
> Un saludo,
>
> Miguel.
>
>
>
>
>
>
> ------------------------------
> *De:* R-help-es <r-help-es-bounces using r-project.org> en nombre de juan
> manuel dias <juamadias using gmail.com>
> *Enviado:* jueves, 1 de julio de 2021 0:15
> *Para:* Lista R
> *Asunto:* [R-es] Consulta filtro múltiple.
>
> Hola, como andan!
>
> Tengo una base de datos de medicamentos (monodrogas), con tres variables,
> unidades, precio y precio unitario. Necesito llegar a un data frame donde
> tenga solo las monodrogas que cumplen alguna condición en la variable
> unidades, pero considerando varias monodrogas.
>
> Esto es un recorte de la base:
>
> Monodroga UNIDADES Precio PrecioUnit
> aciclovir 20 111272 55.636
> aciclovir 20 97464 48.732
> aciclovir 40 98322 432
> aciclovir 40 98322 324
> paracetamol 1 19291 192.91
> paracetamol 1 24702 247.02
> paracetamol 1 21120 211.2
> paracetamol 10 9993 9.993
> paracetamol 10 10443 10.443
> rosuvastatina 14 141134 100.81
> rosuvastatina 28 258262 92.2364286
> rosuvastatina 28 201590 71.9964286
> rosuvastatina 30 183717 61.239
> rosuvastatina 30 231935 77.3116667
>
> Por ejemplo, para la monodroga "aciclovir" necesito solo las filas donde
> Unidades==20,  en paracetamol==10 y en rosuvastatina==30.
>
> Estoy trabajando con tidyverse y he probado algunas cosas que no han
> funcionado.
>
> prom_max_min_base_precios_May_2021_final<-base_precios_May_2021_final %>%
>   ##unite("concat1",CodDrog,CodForma,sep="",remove = FALSE) %>%
>   ##unite("concat2",CodDrog,CodForma,Potencia,sep="",remove = FALSE) %>%
>   filter(!is.na(CodDrog)) %>%
>   ##filter(monodroga=="aciclovir", Unidades %in% c(20)) %>%
>   group_by(concat1,concat2,monodroga) %>%
>   summarize(min_may_2021=min(precio_unitario),
>             max_may_2021=max(precio_unitario),
>             prom_may_2021=mean(precio_unitario)) %>%
>   ungroup()
>
> Ajdunto la base en csv.
>
> Muchas gracias!
>
> ------------------------------
>
> Nota: A información contida nesta mensaxe e os seus posibles documentos
> adxuntos é privada e confidencial e está dirixida únicamente ó seu
> destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe,
> por favor elimínea. A distribución ou copia desta mensaxe non está
> autorizada.
>
> Nota: La información contenida en este mensaje y sus posibles documentos
> adjuntos es privada y confidencial y está dirigida únicamente a su
> destinatario/a. Si usted no es el/la destinatario/a original de este
> mensaje, por favor elimínelo. La distribución o copia de este mensaje no
> está autorizada.
>
> See more languages: http://www.sergas.es/aviso-confidencialidad
>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es