Main content

Home

Menu

Loading wiki pages...

View
Wiki Version:
# Pensamiento estratégico y evaluación en la virtualidad ## Este es el código con el que se calcularán los ganadores ### Actualización: Octubre 28 / 2021 #### Observación 1: En el sorteo se copiará este código y se hará en vivo. Deberán cambiarse las semillas (set seed) para los juegos 2 y 4. Las semillas definen la conformación de los grupos, que a la vez define los ganadores #### Observación 2: Los grupos de los juegos 2 y 4 son de 40 personas. Si no hay un múltiplo de 40, en el último grupo se completará el grupo con bots. Un bot es una copia de un jugador asignado al grupo 1, que sirve para calcular el desenlace del juego, pero si el bot resulta ganador, no genera un pago. ### Código de Stata ******************************************************************************** % ***************************** LUPI********************************************** % ******************************************************************************** % set more off % clear % *** CHANGE DIRECTORY % * cd "C:\Users\prestamour\OneDrive - Universidad del rosario\Job\LUPI\LUPI data\Code Pagos" % cd "C:\Users\cesar\Universidad del rosario\Silvia Alejandra Ortiz Merchan - LUPI\LUPI data\Code Pagos" % *IMPORT LUPI data % * import excel "C:\Users\prestamour\OneDrive - Universidad del rosario\Job\LUPI\LUPI data\Code Pagos\results-survey615545.xlsx", firstrow % import excel "C:\Users\cesar\Universidad del rosario\Silvia Alejandra Ortiz Merchan - LUPI\LUPI data\Code Pagos\results-survey615545.xlsx", firstrow % *Cleaning DATA % drop Últimapágina Fechadeenvío Lenguajeinicial ConsentimientoInformadoAquíp Semilla Fechadeinicio Fechadelaúltimaacción Leílainformaciónmostradaarri Acontinuaciónlepedimosquere Antesdeterminarqueremoshacer Tiempototal TemporizacióndelgrupoConsent TemporizacióndelapreguntaCo TemporizacióndelapreguntaIn TemporizacióndelgrupoLUPItod TemporizacióndelapreguntaLU TemporizacióndelgrupoLUPIgru AJ AM AN AP AQ AR AS AT TemporizacióndelgrupoBeautyC TemporizacióndelapreguntaBC TemporizacióndelapreguntaBC TemporizacióndelgrupoCuestio TemporizacióndelapreguntaAf TemporizacióndelapreguntaCu TemporizacióndelapreguntaEd TemporizacióndelapreguntaPr TemporizacióndelapreguntaCa TemporizacióndelapreguntaSe BB TemporizacióndelgrupoTest % rename (Juego1Escogerelmenorente Juego2Escogerelmenorente Juego3Escogerelnúmeropro Juego4Escogerelnúmeropro Pregunta1SiJuanpuedebeber Pregunta2Miguelquedótanto Pregunta3Óscarcomprauncer Pregunta4Simóndecideinvert Cuántosañostieneusted Quécarrerasestudiaestudió Quésemestrecursaactualmente Porfavordéjenossucorreoelec Cuálessupromedioacumulado Indiquequetandeacuerdoseen T U V) (LUPI LUPIgrupos BC BCgrupos Pregunta1 Pregunta2 Pregunta3 Pregunta4 Edad Carrera Semestre Correo Promedio QuienAprendeMas DedicarMasTiempo VariasVersionesExamen CierreBrechasAprendizaje) % ****SELECCION GANADORES**** % drop Pregunta1 Pregunta2 Pregunta3 Pregunta4 Promedio QuienAprendeMas DedicarMasTiempo VariasVersionesExamen CierreBrechasAprendizaje % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % *** 1. LUPI*** % preserve % sort LUPI % duplicates tag LUPI, gen(repeated_LUPI) % list LUPI Correo if repeated_LUPI == 0 % restore % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % /* VAMOS A ESCOGER LA SEMILLA PARA EL SORTEO % ,-'"""`-, ,-----. % ,' \ _|_ / `. | 501 | % /`.,'\ | /`.,'\ `-----' | % ( /`. \|/ ,'\ ) | H % |--|--;=@=:--|--| | H U % ( \,' /|\ `./ ) H U | % \,'`./ | \,'`./ U | (|) % `. / """ \ ,' | (|) % '-._|_,-` (|) % */ % set seed 959 % *** 2. LUPI en grupos*** % preserve % *Creación de BOTS (individuos para completar los grupos de a 40 personas) % * Variable aleatoria para crear los grupos mas adelante % generate RandNum = uniform() % sort RandNum % *Cantidad de Bots a generar % gen NoMatch = _N/40 % gen gruposcompletos = int(NoMatch) % replace gruposcompletos= gruposcompletos*40 // Cantidad de individuos ya en grupos completos % drop NoMatch % gen id= _n // Cantidad total individuos % gen dif = gruposcompletos-id // Si la varible es negativa son individuos sin grupo completo % egen id_indiv_grupo = seq(), f(1) t(40) % gen BotsGenerar= 40 - id_indiv_grupo if dif< 0 // Variable para saber la cantidad de bots para completar un nuevo grupo % egen cantbots= min(BotsGenerar) // Se elige la cantidad de Bots para completar el grupo % gen repetir = 1 if id <= cantbots // Seleccion de individuos para repetir % * Creacion de Bots % expand 2 if repetir == 1, generate(newv) // Repitiendo los individuos que serán bots % gen Bot = string(newv) //Variable para distinguir que son bots % drop newv id gruposcompletos dif id_indiv_grupo cantbots repetir BotsGenerar % *Asignacion individuos a grupos % drop IDderespuesta LUPI BC BCgrupos % sort Bot RandNum % * Creacion de los grupos % gen Participante = _n % order Participante Bot, b(LUPIgrupos) % generate Grupo = . % replace Grupo = 1 if Participante>=1 & Participante<=40 % replace Grupo = 2 if Participante>40 & Participante<=80 % replace Grupo = 3 if Participante>80 & Participante<=120 % replace Grupo = 4 if Participante>120 & Participante<=160 % replace Grupo = 5 if Participante>160 & Participante<=200 % *Seleccion winner LUPI en grupos % *Ordenando la base de datos % order Grupo, b(LUPIgrupos) % sort Grupo LUPIgrupos % duplicates tag Grupo LUPIgrupos, gen(repeated_LUPI) % *List Ganadores x grupo % sort Grupo LUPIgrupos % list Grupo LUPIgrupos Correo if repeated_LUPI == 0 & Bot == "0" % list Grupo LUPIgrupos Correo Bot if repeated_LUPI == 0 % restore % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % *** 3. BEAUTY CONTEST*** % preserve % *Ordenando la base de datos % sort BC % drop LUPIgrupos LUPI BCgrupos % *Variable para ver los 2/3 del promedio % egen mean2_3= mean(BC) % replace mean2_3 = mean2_3*2/3 % *Variable Diferencia entre las respuestas y 2/3 del promedio % gen diferencia= abs(mean - BC) % *Encontrando diferencias repetidas % sort diferencia % * Romper empates % egen minBC = min(diferencia) // Eleccion de la menor diferencia posible, es decir el numero mas cercano a 2/3 del promedio % gen winnerBC=1 if minBC == diferencia % recode winnerBC . = 0 % gen tiebreaker_BC = runiform() if winnerBC == 1 % sort tiebreaker_BC % list tiebreaker_BC BC diferencia mean2_3 Correo if winnerBC == 1 % restore % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % ********************************************************************** % /* VAMOS A ESCOGER LA SEMILLA PARA EL SORTEO % ,-'"""`-, ,-----. % ,' \ _|_ / `. | 501 | % /`.,'\ | /`.,'\ `-----' | % ( /`. \|/ ,'\ ) | H % |--|--;=@=:--|--| | H U % ( \,' /|\ `./ ) H U | % \,'`./ | \,'`./ U | (|) % `. / """ \ ,' | (|) % '-._|_,-` (|) % */ % set seed 1001 % *** 4. Beauty Contest Grupos*** % preserve % *Creación de BOTS (individuos para completar los grupos de a 40 personas) % * Variable aleatoria para generar los grupos mas adelant4e % generate RandNum = uniform() % sort RandNum % *Cantidad de Bots a generar % gen NoMatch = _N/40 % gen gruposcompletos= int(NoMatch) % replace gruposcompletos= gruposcompletos*40 // Cantidad de individuos ya en grupos completos % drop NoMatch % gen id= _n // Cantidad total individuos % gen dif = gruposcompletos-id // Si la varible es negativa son individuos sin grupo completo % egen id_indiv_grupo = seq(), f(1) t(40) % gen BotsGenerar= 40 - id_indiv_grupo if dif< 0 // Variable para saber la cantidad de bots para completar un nuevo grupo % egen cantbots= min(BotsGenerar) // Se elige la cantidad de Bots para completar el grupo % gen repetir = 1 if id <= cantbots // Seleccion de individuos para repetir % * Creacion de Bots % expand 2 if repetir == 1, generate(newv) // Repitiendo los individuos que serán bots % gen Bot = string(newv) //Variable para distinguir que son bots % drop newv id gruposcompletos dif id_indiv_grupo cantbots repetir BotsGenerar % *Asignacion individuos a grupos % drop IDderespuesta LUPI LUPIgrupos BC % sort Bot RandNum % * Creacion de los grupos % gen Participante = _n % order Participante Bot, b(BCgrupos) % generate Grupo = . % replace Grupo = 1 if Participante>=1 & Participante<=40 % replace Grupo = 2 if Participante>40 & Participante<=80 % replace Grupo = 3 if Participante>80 & Participante<=120 % replace Grupo = 4 if Participante>120 & Participante<=160 % replace Grupo = 5 if Participante>160 & Participante<=200 % *Seleccion winner BC en grupos % *Ordenando la base de datos % order Grupo, b(BCgrupos) % sort Grupo BCgrupos % *Variable para ver los numeros repetidos % egen mean2_3= mean(BCgrupos), by(Grupo) % replace mean2_3 = mean2_3*2/3 % *Variable Diferencia entre las respuestas y 2/3 del promedio % gen diferencia= abs(mean - BCgrupos) % * Romper empates % egen minBC = min(diferencia), by (Grupo) // Eleccion de la menor diferencia posible, es decir el numero mas cercano a 2/3 del promedio % by Grupo: gen winnerBC=1 if minBC == diferencia % recode winnerBC . = 0 % by Grupo: gen tiebreaker_BC = runiform() if winnerBC == 1 % sort Grupo tiebreaker_BC % list Grupo tiebreaker_BC BCgrupos diferencia mean2_3 Correo Bot if winnerBC == 1 % restore
OSF does not support the use of Internet Explorer. For optimal performance, please switch to another browser.
Accept
This website relies on cookies to help provide a better user experience. By clicking Accept or continuing to use the site, you agree. For more information, see our Privacy Policy and information on cookie use.
Accept
×

Start managing your projects on the OSF today.

Free and easy to use, the Open Science Framework supports the entire research lifecycle: planning, execution, reporting, archiving, and discovery.