I have a data frame with several columns, one of which is a factor called “site”. How can I split the data frame into blocks of rows each with a unique value of “site”, and then process each block with a function? The data look like this:
site year peak
ALBEN 5 101529.6
ALBEN 10 117483.4
ALBEN 20 132960.9
ALBEN 50 153251.2
ALBEN 100 168647.8
ALBEN 200 184153.6
ALBEN 500 204866.5
ALDER 5 6561.3
ALDER 10 7897.1
ALDER 20 9208.1
ALDER 50 10949.3
ALDER 100 12287.6
ALDER 200 13650.2
ALDER 500 15493.6
AMERI 5 43656.5
AMERI 10 51475.3
AMERI 20 58854.4
AMERI 50 68233.3
AMERI 100 75135.9
AMERI 200 81908.3
and I want to create a plot of year vs peak for each site.
Another choice is use the
ddplyfunction from theggplot2library. But you mention you mostly want to do a plot of peak vs. year, so you could also just useqplot:On the other hand, I do like David Smith’s solution that allows the applying of the function to be run across several processors.