2017-06-05 5 views
0

Ich habe eine Liste mit vielen String-Werten (Stadtcodes) innerhalb eines R-Vektors:
"BOS", "NYC", "AUS", "DAL", LAX ", ...Basisautomatisierung/Schleifen in R

ich möchte diese einzeln in eine Funktion F (Ort, Datum) zuzuführen, die einen Datenrahmen gibt, und speichern sie die individuell Ergebnisse wie folgt:..

bos <- F("BOS", "2016-01-01") 
nyc <- F("NYC", "2016-01-01") 
aus <- F("AUS", "2016-01-01") 

usw. Wie kann ich erreichen, Dies für eine Liste von vielen Städten, ohne eins nach dem anderen zu gehen? Ich entschuldige mich für die grundlegende Frage und schätze Ihre Hilfe

+2
+0

hat leider nicht funktioniert. unsicher, ob es wegen der benutzerdefinierten Bibliotheksfunktion ist oder nicht – Yoav24

+0

@ Yoav24 Könnten Sie bitte die benutzerdefinierte Funktion zeigen – akrun

Antwort

1

Wir können Map verwenden, um die getSummariseWeather auf einen Vektor von Strings ('vec1') und die entsprechenden 'Daten' anzuwenden, die als start_date Argument für die Funktion gehen. Hier gehen wir davon aus, dass sich die start_date ändern kann. Wenn nicht, dann verändert sich wie die @thelatemail Ansatz vorgeschlagen würde

Map(getSummarizedWeather, vec1, start_date = dates) 

Als reproduzierbaren Beispiel

library(weatherData) 
Map(getSummarizedWeather, c("CDG", "LHR"), start_date = c("2013-09-30", 
     "2012-12-12"), end_date = c("2013-10-01", "2012-12-13")) 
#$CDG 
#   Date Max_TemperatureC Mean_TemperatureC Min_TemperatureC 
#1 2013-09-30    18    16    13 
#2 2013-10-01    19    16    13 

#$LHR 
#  Date Max_TemperatureC Mean_TemperatureC Min_TemperatureC 
#1 2012-12-12    0    -2    -4 
#2 2012-12-13    1    -1    -3