Muchas gracias! Lo veo una buena opción, mañana voy a probar con algunas
monodrogas para ver que funcione y en tal caso lo escalo a toda la base.
Muchas gracias! Juan.
El mié., 30 de jun. de 2021 7:35 p.m., Eric Concha M. <
ericconchamunoz en gmail.com> escribió:
>
> Y si lo haces con la libreria data.table ? suponiendo que bd es tu
> base de datos:
>
> bd1 <- bd[monodroga=="aciclovir" & UNIDADES==20,]
> bd2 <- bd[monodroga=="paracetamol" & UNIDADES==10,]
> bd3 <- bd[monodroga=="rosuvastatina" & UNIDADES==30,]
>
> y luego las unes:
>
> bd.nueva <- rbind(bd1,bd2,bd3)
>
> Algo así podría ser ... hay muchas otras formas de hacerlo, pero me
> gusta data.table cuando son bbdd grandes xq es muy rápida, sobretodo si
> la usas con set.key() ... mira la ayuda de R para que veas los detalles
> de data.table.
>
> Ojo con los detalles, como que la columna monodroga sea tipo caracter o
> factor, q UNIDADES sea numérico, y así ...
>
> Suerte !!
>
> Eric.
>
>
>
>
> n Wed, 30 Jun 2021 19:15:21 -0300
> juan manuel dias <juamadias en gmail.com> wrote:
>
> > 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!
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
[[alternative HTML version deleted]]