Skip to content

[R-es] ayuda con "unexpected symbol"

8 messages · miguel.angel.rodriguez.muinos en sergas.es, Marta valdes lopez, Carlos Ortega +1 more

#
Hola Marta.

Tiene pinta de faltar una coma....


DBxy<-read.csv(paste("C:/users/marta/desktop/DB",filename, sep=""),sep=",",header=TRUE)

Un Saludo,
Miguel.
#
Revisando tu mensaje con más detenimiento (y no sólo en la coma a la que me refería en el correo anterior) veo que el código que adjuntas de ejemplo es algo confuso....

Al usar setwd() al principio ya no necesitas luego el paste() dentro del read.csv() ... así se te complica la cosa (incluso llego a adivinar que falta un slash al final), llega con que le especifiques el nombre del fichero porque estás ya en ese directorio de trabajo).
Por otro lado, asignas 4 valores distintos a la variable 'filename' por lo que se quedará con el último valor (univer2_50.csv).
Resumiendo: tu código podría quedar así con idéntico resultado:

setwd("C:/users/marta/desktop/DB")
filename<-"univer2_50.csv"
DBxy<-read.csv(filename, sep=",", header=TRUE)

Un Saludo,
Miguel.
#
si los ficheros son muchos y tienen la misma estructura de columnas yo
haria algo asi:

# para que el resultado quede dentro del directorio con los archivos
originales

setwd("C:/users/marta/desktop/DB")

# filename sera un vector cuyo contenido es el nombre de todos los
ficheros de tu directorio de trabajo, asi es que debes sacar todo lo
demas que haya ahi, incluyendo carpetas

filename <- list.files(path = "C:/users/marta/desktop/DB")

# creamos un fichero temporal con la estructura de columnas y que
contendra el resultado final de todos tus ficheros unidos

tmp <- filename[1]

# ahora se uniran a ese temporal todo el resto de los ficheros del
directorio, pegando las filas hacia abajo

for (i in 2:(length(filenames)))
{

tmp <- rbind(tmp,filenames[i])
i <- i+1

}


NO LO PROBE, PERO ESPERO QUE TE RESULTE ... CUENTANOS,

SUERTE !!

ERIC.
On 29/05/14 13:40, Marta valdes lopez wrote:

  
    
#
perdon, me salte el paso de lectura del contenido del fichero, corrijo
aqui lo que envie:


setwd("C:/users/marta/desktop/DB")

filename <- list.files(path = "C:/users/marta/desktop/DB")

# este paso es solo para crear un fichero con la misma cantidad de
columnas que los que quieres unir, luego puedes borrar esa primera fila

tmp <- read.csv(filenames[1], nrows=1)

# ahora se uniran a ese temporal todo el resto de los ficheros del
directorio, pegando las filas hacia abajo

i <- 1
for (i in 1:(length(filenames)))
{
# aqui tienes que acomodar la lectura del fichero de acuerdo a tu
necesidad, por ejemplo, si necesitas que lea como encabezado la primera
fila header=TRUE y todo eso que sale en la ayuda de la funcion

tmp2 <- read.csv(filenames[i])
tmp <- rbind(tmp,tmp2)
i <- i+1

}


ahora si espero que sirva,

slds,

eric.
On 29/05/14 13:40, Marta valdes lopez wrote: