[R-es] problema al copiar datos de tipo caracter de un archivo a otro

eric ericconchamunoz en gmail.com
Vie Ago 29 00:05:02 CEST 2014


Estimada comunidad, tengo un problema que no puedo resolver. Tengo
muchos archivos (los llamaremos "TMP") con los que debo construir un
archivo resumen que llamare "DAT".

A partir de los nombres de los archivos TMP construyo las primeras 4
columnas de DAT, luego, con datos del interior del archivo TMP construyo
las columnas 5 a 9 de DAT.

El problema insoluble que tengo es que la columna 7 de DAT, se rellena a
partir de la columna 9 de TMP. Sin embargo, cuando miro el archivo final
DAT, en la columna 7 me aparecen numeros como 1, 2 o 3, en lugar de "c",
"t" o "s" que es lo que deberia aparecer.

Al principio crei que era un problema del tipo de dato, asi es que
inclui en el codigo la funcion as.character() para las columnas 1 y 7 de
DAT y la columna 9 de TMP que son del tipo character, pero todo sigue igual.

Cuando miro los datos de TMP, por ejemplo, TMP[1,9], me aparece el dato
correcto como "c" por ejemplo, pero cuando miro el resultado en DAT, por
ejemplo, DAT[1,7] me aparece un numero.

No puedo encontrar el error y me tiene bastante cansado, asi es que
cualquier ayuda es bienvenida.

Adjunto algiunos archivos TMP para que prueben el codigo que pego mas abajo.

Espero haberme explicado adecuadamente.

Muchas gracias,

Eric.




  # construir un archivo con los datos de los fames clasificados para
  filenames <- list.files(path =
"/home/neo/Documents/Dropbox2/Tesis/4tesis/2.objesp/experimento/expnov/4fames/")
    # construir el matchingFile
    dat <- data.frame("sol",0,0,0,0,0,"a",0)
    dat[,1] <- as.character(dat[,1])
    dat[,7] <- as.character(dat[,7])
    colnames(dat) <- c("sol","con","dia","rep","nca","nin","iso","are")
  i <- 1
  k <- 1
  for (i in 1:length(filenames))
  {
      # leer los datos desde cada archivo
      tmp <- read.csv(filenames[i], header=FALSE, sep="\t")
      # sacar los datos y meterlos a un nvo archivo temporal
	# datos de identificacion
	  dat[k,1] <- substr(filenames[i],1,3)
	  dat[k,2] <- substr(filenames[i],4,4)
	  dat[k,3] <- substr(filenames[i],7,8)
	  dat[k,4] <- substr(filenames[i],5,5)
      # para comenzar a leer los datos desde el C16:0
      j <- 1
      while (tmp[j,3] != max(tmp[,3]))  { j <- j + 1 }
	
      # para tomar los datos del archivo
      for (j in j:nrow(tmp))
	  {
	    if (tmp[j,7] %in% c(16,18))
	    {
	    # NCarb
	    dat[k,5] <- tmp[j,7]
	    # Nins
	    dat[k,6] <- tmp[j,8]
	    # isom
	    tmp[j,9] <- as.character(tmp[j,9])
	    dat[k,7] <- tmp[j,9]
	    #area
	    dat[k,8] <- tmp[j,5]
	
	    k <- k + 1
	    }
	  j <- j + 1
	  }
      i <-  i + 1
  }

  #
  write.table(dat,
"/home/neo/Documents/Dropbox2/Tesis/4tesis/2.objesp/experimento/expnov/dat.csv",
sep="\t", row.names = FALSE)

  # rellenar los espacios vacios de la identificacion
  dat <-
read.csv("/home/neo/Documents/Dropbox2/Tesis/4tesis/2.objesp/experimento/expnov/dat.csv",
header=TRUE, sep="\t")
  dat[,1] <- as.character(dat[,1])
  n <- 2
  for (n in 2:nrow(dat))
  {7
    if (is.na(dat[n,1]) == "TRUE")
      {
	dat[n,1] <- dat[n-1,1]
	dat[n,2] <- dat[n-1,2]
	dat[n,3] <- dat[n-1,3]
	dat[n,4] <- dat[n-1,4]
      }
      n <- n + 1
  }
  dat










-- 
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city
standards for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
lectores de correo.
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: con03-1111.csv
Type: text/csv
Size: 3254 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140828/70ae5ef6/attachment.bin>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: dec11-0911.csv
Type: text/csv
Size: 627 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140828/70ae5ef6/attachment-0001.bin>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: dol11-0911.csv
Type: text/csv
Size: 186 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140828/70ae5ef6/attachment-0002.bin>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: lim11-0911.csv
Type: text/csv
Size: 1540 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140828/70ae5ef6/attachment-0003.bin>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: sta00-1111.csv
Type: text/csv
Size: 1342 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20140828/70ae5ef6/attachment-0004.bin>


Más información sobre la lista de distribución R-help-es