Hola, ¿qué tal?
Cosas de la naturaleza de lo que cuentas suceden con frecuencia y
usando cualquier tecnología.
Las causas del problema pueden ser múltiples y los anecdotarios de los
que hemos trabajado llevando datos de unos sistemas a otros son
prolijos y variopintos.
Consejo: ejecuta el proceso en paralelo en los dos sistemas que dan
resultados distintos y aisla el paso en el que se produce la
divergencia. Si puedes, extrae la "fila culpable". Lee entonces bien
el manual del comando culpable y mira a ver cómo puede ser influido
por algún tipo de parámetro de configuración (desde el formato de las
fechas hasta el "encoding" de los ficheros de texto).
Es una pesadez, pero al final del proceso habrás aprendido "una cosa
más", como en el refrán.
Un cordial saludo,
Carlos J. Gil Bellosta
http://www.datanalytics.com
2009/10/10 David A.C. <diuck7 en hotmail.com>:>
> Buenas tardes a todos,
>
>
>
> tengo un problema con R: ejecuto el mismo script en el ordenador del
trabajo y en mi portátil con los mismos
>
> datos y obtengo resultados diferentes (siendo los correctos, los obtenidos
en el trabajo):
>
>
>
> rm(list=ls())
> directorio<-"C:\\Documents and Settings\\BDs\\"
>
> library(RODBC)
> library(car)
> library(gdata)
>
> ### DATOS A ###
>
Adat<-read.xls(paste(directorio,"a.xls",sep=""),sheet=1)
> colnames(Adat)<-tolower(colnames(Adat))
>
> Adat<-Adat[,-c(1,2,7:9)]
> Adat$m<-as.character(Adat$m)#CAMBIO EL TIPO PARA NO TENER PROBLEMAS
> Adat$v<-as.character(Adat$v)#CAMBIO EL TIPO PARA NO TENER PROBLEMAS
>
> ### DATOS B ###
> load(paste(directorio,"b.rda",sep=""))
>
> b$n<-as.character(b$n)#CAMBIO EL TIPO PARA NO TENER PROBLEMAS
> b$p<-as.character(b$p)#CAMBIO EL TIPO PARA NO TENER PROBLEMAS
>
> b$t <- recode(b$t, 'NA=""', as.factor.result=TRUE)
>
> ### MERGE ###
>
Totdat<-merge(b,Adat,by.x=c("t","n","num","p","c"),by.y=c("t","v","num","m","c"),all.x=T,all.y=T)#dim(Totdat)=>5483
rows; 20 variables
>
> ### QUITO LAS FILAS DUPLICADAS ###
> Totdat<-Totdat[!duplicated(Totdat),]
> dim(Totdat)#4982 rows; 20 variables
>
> #CREO UNA VARIABLE IDENTIFICADORA
>
Totdat$MI_id<-paste(1:dim(Totdat)[1],"mi_id",sep="_")
>
> ### ACTUALIZO Totdat CON NUEVOS DATOS:
> dat1<-read.xls("C:\\Documents and Settings\\Obtenido del
script\\dat1.xls",sheet=1)
>
> dat1<-dat1[(!is.na(dat1$ti) & !is.na(dat1$fi) & !is.na(dat1$x)
& !is.na(dat1$y)),]
> dim(dat1)#401rows - 33cols
> dat1<-dat1[,-c(16:33)]#ELIMINO LAS COLUMNAS QUE NO ME INTERESAN
> dim(dat1)#401rows - 15cols
>
>
> system.time({for (i in 1:dim(dat1)[1]){
> for (j in 1:dim(Totdat)[1]){
> if (dat1$MI_id_dat1[i]==Totdat$MI_id[j]){
> Totdat$ti[j]<-dat1$ti[i]
> Totdat$fi[j]<-dat1$fi[i]
> Totdat$x[j]<-dat1$x[i]
> Totdat$y[j]<-dat1$y[i]
> break
> }
> }
> }
> })
>
> dim(Totdat[(!is.na(Totdat$x) & !is.na(Totdat$y)),])
>
> #en el pc del trabajo da :4769rows 21cols
>
> #en mi portátil da:4751rows 21cols !!!
>
>
>
> dim(Totdat[(!is.na(Totdat$add) & !is.na(Totdat$x) &
!is.na(Totdat$y)),])
>
> #en el pc del trabajo da :4334 rows 21 cols
>
> #en mi portátil da:4316rows 21cols !!!
>
>
>
> dim(Totdat[(!is.na(Totdat$add) & is.na(Totdat$x) &
is.na(Totdat$y)),])
>
> #en el pc del trabajo da :213 rows 21 cols
>
> #en mi portátil da:231rows 21cols !!!
>
>
>
> dim(Totdat[(is.na(Totdat$add) & !is.na(Totdat$x) &
!is.na(Totdat$y)),])
>
> #en el pc del trabajo da :435 rows 21 cols
>
> #en mi portátil da:435rows 21cols
>
>
>
> La versión de R y la de las librerías cargadas en ambos ordenadores son la
misma. La versión de Excel también. Lo único que cambia entre las máquinas es el
sistema operativo, que en el trabajo es el Windows XP Professional y el de mi
portátil es el Windows XP Media Center Edition. Lo curioso de todo es que he
creado una máquina virtual en el portátil con el sistema operativo Windows 2000
Server y obtengo los resultados correctos. He probado en varias máquinas y en
todas ellas me dan los resultados correctos, menos en mi portátil y en mi
ordenador de sobremesa, que también tiene el Windows XP Media Center Edition.
>
>
>
> Muchas gracias. Saludos,
>
> David.
> _________________________________________________________________
> ¿Estás fuera de temporada? Entra ya en Nueva Temporada y entérate antes que
nadie de sobre famosos, moda, belleza y el look que se lleva este otoño.
>
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>