Estimados, disculpen ya me di cuenta que torpeza estaba haciendo, me
faltaba el indice de la fila de las asignaciones, por ejemplo, en
tmp[,7] <- 16
deberia decir:
tmp[k,7] <- 16
falta la "k" y por eso salia todo mal.
Muchas gracias por su tiempo.
Slds, eric.
On 01/08/14 23:16, neo wrote:> Estimada comunidad, escribi el sgte script en R para clasificar las
> filas de una planilla y no me funciona:
>
> filenames <- list.files(path >
"/home/neo/Documents/Dropbox2/Tesis/4tesis/2.objesp/experimento/expnov/4fames/")
> i <- 1
> for (i in 1:length(filenames))
> {
> tmp <- read.csv(filenames[i], header=FALSE, sep="\t")
> j <- 1
> while (tmp[j,3] != max(tmp[,3])) { j <- j + 1 }
>
> k <- j
> #k <- 1
> for (k in j:nrow(tmp))
> {
> if (tmp[k,6] == 1)
> {
> tmp[,7] <- 16
> tmp[,8] <- 0
> tmp[,9] <- "s"
> }
>
> if ((1.078 <= tmp[k,6]) & (tmp[k,6] <= 1.081))
> {
> tmp[,7] <- 18
> tmp[,8] <- 0
> tmp[,9] <- "s"
> }
> k <- k + 1
> }
>
> write.table(tmp,
>
paste("/home/neo/Documents/Dropbox2/Tesis/4tesis/2.objesp/experimento/expnov/4fames/",
> filenames[i], sep=""), sep="\t", row.names = FALSE,
col.names=FALSE)
> i <- i+1
> }
>
>
>
> no entiendo bien xq no funciona ya que en otra parte tengo uno casi
> identico que hace lo mismo y funciona bien.
>
> Parece que el error esta en el segundo IF, pero no se bien como
> escribirlo en una sola linea, pues no quiero usar IF ELSE ...
>
> A veces me ocurre q el tipo de dato se cambia por alguna razon q
> desconozco y entonces la clasificacion no funciona por eso, pero se
> arregla usando as.numeric(9 o as.character() segun corresponda, pero en
> este caso no me ha funcionado (lo use pero no lo puse en este script).
>
> Adjunto un archivo simple de datos para q se pueda reproducir el script,
> a ver si alguien me hecha una mano,
>
> Muchas gracias,
>
> eric.
>
>
>
>
>
>
>
>
>
--
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.