2016-04-19 3 views
0

Angenommen, ich habe 30 Tsv-Dateien von Twitter-Daten, sagen Google, Facebook und LlinkedIn, etc. Ich möchte eine Reihe von Operationen auf allen von ihnen durchführen, und fragte mich, ob ich dies tun kann mit einer Schleife.Wie durchlaufe ich eine Anzahl von Variablen und führe Operationen an ihnen in R durch?

Insbesondere, ich weiß, dass ich Variablen mit einer Schleife, wie

index = c("fb", "goog", "lkdn") 
for (i in 1:length(index)){ 
    file_name = paste(names[i], ".data", sep = "") 
    assign(file_name, read.delim(paste(index$report_id[i],  
      "-tweets.tsv", sep = ""), header = T, 
      stringsAsFactors = F)) 
} 

erstellen Aber wie ich führen Operationen auf all diese Dateien in der Schleife? Zum Beispiel, wenn ich die Datendateien mit data[order(data[,4]), ] bestellen möchte, wie stelle ich sicher, dass der Name der Datendatei in jeder Iteration der Schleife geändert wird? Vielen Dank!

+0

1. 'names' ist eine Basisfunktion, dann ist es nicht klug, zu verwenden, die als eine Variable. 2. Was ist 'n'? – cory

Antwort

0

Erstellen Sie eine Funktion, die alle Operationen ausführt, die Sie ausführen müssen, und erstellen Sie dann eine Schleife, die diese Funktion aufruft. Wenn Sie sich mit beharren zuweisen viele Variablen erstellen (keine große Praxis aus diesem Grund) dann versuchen, so etwas wie:

files <- dir("path/to/files", pattern = "*.tsv") 

fileFunction <- function(x){ 
    df <- read.delim(x, sep = "\t", header = T, stringsAsFactors = F) 
    df <- df[order(df[,4]),] 
    return(df) 
} 

for (a in files){ 
    assign(a, fileFunction(a)) 
} 
Verwandte Themen