<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Hola,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Esta podría ser una forma...</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">#----------------------------------<br>library(dplyr)<br>library(tidyr)<br>library(data.table)<br><br>datin <- fread('base_enfermedades_dummy.csv')<br><br>#Demencia, Cáncer, Enfermedad Cardíaca, Enfermedad pulmonar y Diabetes<br><br>to_keep <- c('paciente', 'Demencia', 'Cáncer', 'Enfermedad Cardíaca', <br>             'Enfermedad Pulmonar' , 'Diabetes')<br>to_rest <- setdiff(names(datin), to_keep) <br><br>datin_rel <- datin %>% relocate(all_of(to_keep), .before = all_of(to_rest))<br>datinnew <- datin_rel<br>datrest <- datin_rel[, (length(to_keep)+1):ncol(datin_rel)]<br><br># Conseguir columna "Otros"<br>datinnew$sum_keep <- rowSums(datin_rel[, 2:length(to_keep)])<br>datinnew$sum_rest <- rowSums(datin_rel[, (length(to_keep)+1):ncol(datin_rel)])<br>datinnew$Otros <- ifelse(datinnew$sum_rest > 0, 1, 0)<br>                                    <br>#--- Conseguir columna "Enfermedades_otras"<br>datinnew$Enfermedades_otras <- apply( datrest, 1,  <br>                                      function(u) paste( names(which(u > 0)), collapse = "," ) )<br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">#----------------------------------</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Gracias,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Carlos Ortega <br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><a href="http://www.qualityexcellence.es">www.qualityexcellence.es</a><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El jue, 11 mar 2021 a las 20:03, juan manuel dias (<<a href="mailto:juamadias@gmail.com">juamadias@gmail.com</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><p class="MsoNormal" style="margin:0cm;line-height:normal;font-size:11pt"><font face="tahoma, sans-serif"><span style="font-size:12pt;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Hola
Estimados/as, </span><span style="font-size:12pt"></span></font></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">Hace unos días consulté cómo generar variables dummy cuándo las opciones de respuesta están
cargadas en una misma columna/variable y separadas por una coma “,”.</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">Tenía esto:</font></span></p><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt;font-family:Calibri,sans-serif"></p><img src="cid:ii_km58al5o0" alt="image.png" width="284" height="138"><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-family:Arial,sans-serif;font-size:12pt"> </span><span style="font-size:12pt;font-family:Arial,sans-serif"><img style="margin-right: 0px;"></span><br></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">Y debía generar como
primer paso esto:</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">ab<-base %>%</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">  separate_rows(enfermedad, sep =
",") %>%</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">  mutate(enfermedad = str_squish(enfermedad))</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif"> </span></p><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt;font-family:Calibri,sans-serif"></p><img src="cid:ii_km58ay9g1" alt="image.png" width="289" height="190"><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt;font-family:Calibri,sans-serif"><br></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">Y finalmente
obtener como resultado las dummy:</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">ab<-base %>%</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">  separate_rows(enfermedad, sep =
",") %>%</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">  mutate(enfermedad = str_squish(enfermedad), #
Para quitar los espacios en blanco indeseados</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">         id = 1) %>%</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">  spread(key = enfermedad, value = id)</font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">ab[<a href="http://is.na" target="_blank">is.na</a>(ab)] <-
0</font></span></p><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><font face="tahoma, sans-serif"><span style="font-size:12pt"></span></font></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><font face="tahoma, sans-serif"><br></font></p><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><font face="tahoma, sans-serif">write.csv(ab,file='base_enfermedades_dummy.csv')</font><br></p><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><font face="tahoma, sans-serif"><br></font></p><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"></p><img src="cid:ii_km58dere2" alt="image.png" width="303" height="160"><p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><br></p>

<p class="MsoNormal" style="margin:0cm;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif"> </span></p>

<p class="MsoNormal" style="margin:0cm;text-align:justify;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">Actualmente estoy necesitando lo siguiente: conservar las variables
<b>Demencia</b>, <b>Cáncer</b>, <b>Enfermedad Cardíaca</b>, <b>Enfermedad pulmonar</b> y <b>Diabetes</b> y al resto
de las variables/enfermedades agruparlas en una nueva variable “otros”, que sea 1 ó 0 si el caso/paciente tiene 1 en cualquiera de las enfermedades que no son las que
menciono arriba. </font></span></p><p class="MsoNormal" style="margin:0cm;text-align:justify;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif"><br></font></span></p><p class="MsoNormal" style="margin:0cm;text-align:justify;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">Asimismo, necesito generar una nueva variable "<b>Enfermedades_otras</b>" donde figuren cuáles son las enfermedades que mencionó el paciente en otros, y que estén
separadas por una coma.</font></span></p>

<p class="MsoNormal" style="margin:0cm;text-align:justify;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif"> </font></span></p>

<p class="MsoNormal" style="margin:0cm;text-align:justify;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-size:12pt"><font face="tahoma, sans-serif">Adjunto la base en csv (</font></span><b style="font-size:11pt"><font face="tahoma, sans-serif">base_enfermedades_dummy</font>)  </b><span style="font-size:12pt"><font face="tahoma, sans-serif">y en el excel (</font></span><b><font face="tahoma, sans-serif">Ejemplo_agrupar_en_otros</font></b>)<span style="font-size:12pt;font-family:tahoma,sans-serif"> dejo un ejemplo de lo que intento hacer.</span></p><p class="MsoNormal" style="margin:0cm;text-align:justify;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif"><br></font></span></p><p class="MsoNormal" style="margin:0cm;text-align:justify;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt"><span style="font-size:12pt"><font face="tahoma, sans-serif">Muchas gracias! Juan.</font></span></p>

<p class="MsoNormal" style="margin:0cm;text-align:justify;line-height:normal;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif"> </span></p></div>
_______________________________________________<br>
R-help-es mailing list<br>
<a href="mailto:R-help-es@r-project.org" target="_blank">R-help-es@r-project.org</a><br>
<a href="https://stat.ethz.ch/mailman/listinfo/r-help-es" rel="noreferrer" target="_blank">https://stat.ethz.ch/mailman/listinfo/r-help-es</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><span style="font-family:verdana,sans-serif">Saludos,</span><br style="font-family:verdana,sans-serif">
<span style="font-family:verdana,sans-serif">Carlos Ortega</span><br style="font-family:verdana,sans-serif">
<span style="font-family:verdana,sans-serif"><a href="http://www.qualityexcellence.es" target="_blank">www.qualityexcellence.es</a></span></div>