Multi-file Analysis


You have a satellite collars on a number of different individuals and want to be able to quickly look at all of their recent movements at once. The data is posted daily to a URL, as a zip file, and contains one csv file for each individual: http://www.datacarpentry.org/semester-biology/data/individual_collar_data.zip.

Start your solution by:

  1. If individual_collar_data.zip is not already in your working directory download the zip file using download.file()
  2. Unzip it using unzip()
  3. Obtain a list of all of the files with file names matching the pattern "collar-data-.*.txt" (using list.files())

  4. Use a loop to load each of these files into R and make a line plot (using geom_path()) for each file with long on the x axis and lat on the y axis. Graphs, like other types of output, won’t display inside a loop unless you explicitly display them, so you need put your ggplot() command inside a print() statement. Include the name of the file in the graph as the graph title using labs().

  5. Add code to the loop to calculate the minimum and maximum latitude in the file, and store these values, along with the name of the file, in a data frame. Show the data frame as output.

Extra. If you’re interested in seeing another application of for loops, check out the code used to simulate the data for this exercise using for loops.