<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>