# This is what pems.R should be expanded to before feeding it to the list scheduler. # The list scheduler should be able to handle the following code directly. # A # # omit the function bodies for brevity here- they will actually be included. dyncut = function(...) "see pems.R" npbin = function(...) "see pems.R" # We can expand in this way because we saw the combination of the following: # # 1. A split based on a data partition # 2. An lapply on the results of that split tmp0 = c("integer", "integer", "numeric") tmp1 = c("station", "flow2", "occupancy2") pems_1 = read.csv( pipe("cut -d , -f 2,6,7 stationID/313368.csv") , col.names = tmp1 , colClasses = tmp0 ) pems_2 = read.csv( pipe("cut -d , -f 2,6,7 stationID/313369.csv") , col.names = tmp1 , colClasses = tmp0 ) pems_1 = pems_1[, tmp1] pems_2 = pems_2[, tmp1] tmp2_1 = pems_1[, "station"] tmp2_2 = pems_2[, "station"] pems2_1 = split(pems_1, tmp2_1) pems2_2 = split(pems_2, tmp2_2) # treat lapply as vectorized results_1 = lapply(pems2_1, npbin) results_2 = lapply(pems2_2, npbin) results = c(results_1, results_2) # Unmodified after this point results = do.call(rbind, results) write.csv(results, "results.csv")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.