2013-01-06 2 views
1

J'ai quelques informations dans un fichier txt comme ceci:concaténer une chaîne en R avec des virgules

cars.txt 

    Ford    1000 
    Mercedes   2000 
    Lada    3000 
    Chevrolet   5000 

et je veux lire quelques éléments de ce fichier txt et de les convertir en une ligne séparée par des virgules. Je sauverai que dans un autre fichier, donc je besoin de quelque chose (avec la chaîne NOM ajouté):

NAME,Mercedes,Lada 

J'ai essayé le code suivant:

conn=file("cars.txt",open="r") 
control<-readLines(conn) 
data<-strsplit(control,"\t") 
c<-1 
cars<-c() 
for (j in 1:4) 
{ 
    cars[[c]]<-data[[j]][1] 
    cd<-cd+1 
} 
carsd<-paste(cars,sep=",") 
print(carsd) 

Mais aucun résultat à tous, toute aide ?

Merci

Répondre

5

Essayez ceci:

data <- read.table("cars.txt", sep = "\t") 
paste(c("NAME", data[,1]), collapse = ",") 

Si read.table n'est pas compatible avec vos données (par exemple non des données tabulaires), voici comment j'adapter votre code:

control <- readLines("cars.txt") 
data <- strsplit(control, "\t") 
brands <- sapply(data, `[`, 1) 
paste(c("NAME", brands), collapse = ",") 
+0

I pense que cela fonctionne même avec des onglets. Si ce n'est pas le cas, vous pouvez utiliser sep = '\ t'. – nograpes

+0

lorsque j'utilise des données <-read.table ("cars.txt") J'ai l'erreur suivante Erreur dans le balayage (fichier, quoi, nmax, sep, déc, citation, sauter, nlines, na.strings – Layla

+0

merci @flodel, Je l'ai résolu;) – Layla

Questions connexes