<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Otra alternativa de resolución solo con la paquetería estándar:</p>
    <p><tt>   rm(list = ls() )</tt><tt><br>
      </tt><tt>   ## Tenemos un marco de 100 posibles participante </tt><tt><br>
      </tt><tt>   ## que numeramos con un ID del 1 al 100 (su DNI en el 
        estudio)</tt><tt><br>
      </tt><tt>   ## Se asigna sexo aleatoriamente con una probablidad
        de 0.5 para cada uno</tt><tt><br>
      </tt><tt>   marco <- 
        data.frame(ID=1:100,sexo=sample(c(1,6),100,replace = T))</tt><tt><br>
      </tt><tt>   </tt><tt><br>
      </tt><tt>   ## se invita a participar a los 100 miembros del marco
        en 4 programas:</tt><tt><br>
      </tt><tt>   programas <-  c('diat','tc','cedecor','cenaresco')</tt><tt><br>
      </tt><tt>   ##  Modelizamos una  probalidades de participacion
        independiente en </tt><tt><br>
      </tt><tt>   ##  cada en cada programa con valores:</tt><tt><br>
      </tt><tt>   prob.participar <- c(.6,.8,.4,.3) </tt><tt><br>
      </tt><tt>   names(prob.participar) <- programas</tt><tt><br>
      </tt><tt>   </tt><tt><br>
      </tt><tt>   ## creamos el data.frame "estudios" para  pruebas :</tt><tt><br>
      </tt><tt>   estudios <- data.frame()</tt><tt><br>
      </tt><tt>   for (i in programas) { </tt><tt><br>
      </tt><tt>      participa <- sample(c(TRUE,FALSE),</tt><tt><br>
      </tt><tt>                   size= length(marco$ID),</tt><tt><br>
      </tt><tt>                   replace =T, </tt><tt><br>
      </tt><tt>                  
        prob=c(prob.participar[i],1-prob.participar[i]))</tt><tt><br>
      </tt><tt>      xx <- subset(marco,participa)</tt><tt><br>
      </tt><tt>      xx$programa <- i</tt><tt><br>
      </tt><tt>      estudios<- rbind(estudios,xx)</tt><tt><br>
      </tt><tt>   }</tt><tt><br>
      </tt><tt>   </tt><tt><br>
      </tt><tt>   ## combinamos:</tt><tt><br>
      </tt><tt>  
        merge(estudios[,c('ID','programa')],estudios[c('ID','programa')],
        by='ID') -> pares</tt><tt><br>
      </tt><tt>   ## tabulamos:</tt><tt><br>
      </tt><tt>   with(pares,table(programa.x,programa.y))</tt><tt><br>
      </tt><tt>   ## Comprobamo que las diagonales corresponde al número
        de participantes en cada programa </tt><tt><br>
      </tt><tt>   with(estudios,table(programa))</tt><tt><br>
      </tt><br>
    </p>
    <p>Saludos<br>
    </p>
    <div class="moz-cite-prefix">On 26/10/19 19:13, Carlos Ortega wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAOKbq8iDJFW1L-i2cxCDjs-m6WA67jGhBAYEX=j3OwRC3KPerg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <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">Lo
          puedes resolver de esta forma...</div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">He
          comentado el código para que puedas seguir el resultado de
          cada etapa.<br>
        </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(randomNames)<br>
          library(dplyr)<br>
          library(tidyr)<br>
        </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">#----
          Genero nombres aleatorios de "pacientes".<br>
        </div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">## -
          Estos son algunos de los que coincidirian<br>
        </div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">nom_coin
          <- randomNames(50, ethnicity = 4)<br>
        </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">## - A
          los que coincidirian les anado otros puramente aleatorios<br>
        </div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">mis_datos
          <- data.frame(<br>
            prog_A = sample(c(nom_coin, randomNames(70, ethnicity = 1)),
          100, replace = FALSE),<br>
            prog_B = sample(c(nom_coin, randomNames(70, ethnicity = 1)),
          100, replace = FALSE),<br>
            prog_C = sample(c(nom_coin, randomNames(70, ethnicity = 1)),
          100, replace = FALSE),<br>
            prog_D = sample(c(nom_coin, randomNames(70, ethnicity = 1)),
          100, replace = FALSE)<br>
          )<br>
          <br>
        </div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small"># -
          Construyo las combinaciones dos a dos de las columnas<br>
        </div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">res_cols
          <- as.data.frame(t(combn(names(mis_datos), 2)))<br>
          res_comb <- as.data.frame(t(combn(1:ncol(mis_datos), 2)))<br>
          res_tot <- cbind(res_cols, res_comb)<br>
        </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"># -
          Comparo las parejas de columnas<br>
        </div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">for(i
          in 1:nrow(res_tot)) {<br>
                val_inter <- intersect(mis_datos[, res_comb[i,1]],
          mis_datos[, res_comb[i,2]])<br>
                res_tot[i, 5] <- length(val_inter)<br>
          }<br>
          res_out <- res_tot[, c(1,2,5)]<br>
          names(res_out)[3] <- c('Qty')<br>
        </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"># -
          Construyo la tabla final<br>
        </div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">res_table
          <- res_out %>%<br>
             pivot_wider(names_from = V2, values_from = Qty )<br>
        </div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">res_table<br>
        </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">#----------------</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">Saludos,</div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small">Carlos
          Ortega</div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small"><a
            href="http://www.qualityexcellence.es"
            moz-do-not-send="true">www.qualityexcellence.es</a></div>
        <div class="gmail_default"
          style="font-family:verdana,sans-serif;font-size:small"><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">El vie., 25 oct. 2019 a las
          20:17, juan manuel dias (<<a
            href="mailto:juamadias@gmail.com" moz-do-not-send="true">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">Hola, 
            <div><br>
            </div>
            <div>Tengo un tabla de datos con pacientes asistidos, para
              los cuáles tengo variables como  dni, género, programa de
              atención etc. Hay pacientes que atendieron en más de un
              programa por lo cuál se repiten en la tabla. Lo que quiero
              es poder contar con una matriz que me permita identificar
              la cantidad de pacientes que coinciden entre programas. </div>
            <div><br>
            </div>
            <div>Va un ejemplo:<br>
            </div>
            <div><br>
            </div>
            <div>
              <div><img
                  src="cid:part3.8A84DC31.B74736E9@juntadeandalucia.es"
                  alt="image.png" class="" width="415" height="107"><br>
              </div>
            </div>
            <div>Intenté de varias formas pero no consigo hacerlo.</div>
            <div><br>
            </div>
            <div>Muchas gracias! </div>
            <div><br>
            </div>
            <div>Saludos.</div>
          </div>
          _______________________________________________<br>
          R-help-es mailing list<br>
          <a href="mailto:R-help-es@r-project.org" target="_blank"
            moz-do-not-send="true">R-help-es@r-project.org</a><br>
          <a href="https://stat.ethz.ch/mailman/listinfo/r-help-es"
            rel="noreferrer" target="_blank" moz-do-not-send="true">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"
            moz-do-not-send="true">www.qualityexcellence.es</a></span></div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
R-help-es mailing list
<a class="moz-txt-link-abbreviated" href="mailto:R-help-es@r-project.org">R-help-es@r-project.org</a>
<a class="moz-txt-link-freetext" href="https://stat.ethz.ch/mailman/listinfo/r-help-es">https://stat.ethz.ch/mailman/listinfo/r-help-es</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
+--------------------------------------------------------------
| Francisco J. Viciana Fernández
| Dpto. Indicadores Demográficos
| Servicio de Estadísticas Demográficas y Sociales
| Instituto de Estadística y Cartografía de Andalucía
| Leonardo Da Vinci, nº 21. Isla de La Cartuja.
| 41071 SEVILLA.
| <a class="moz-txt-link-abbreviated" href="mailto:franciscoj.viciana@juntadeandalucia.es">franciscoj.viciana@juntadeandalucia.es</a>
+--------------------------------------------------------------
</pre>
  </body>
</html>