Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(data.table)
- library(plyr)
- library(dplyr)
- library(magrittr)
- ## data generation
- N = 10000
- dataset = sample(state.abb, N, replace = TRUE) %>%
- tbl_dt() %>% setnames("state") %>%
- mutate(hospital = paste0("Hospital", 1:N),
- birthrate = runif(N, 0, 0.1), deathrate = runif(N, 0, 0.2))
- ## order by birthrate and deathrate
- datasetSort = dataset %>% arrange(state, birthrate, deathrate)
- # other method
- datasetSort_2 = dataset[order(dataset$state, dataset$birthrate,
- dataset$deathrate),]
- ## The hospitals with top 5 birthrate in each state
- datasetBirthRate5 = datasetSort %>% split(use_series(., state)) %>% lapply(head, n = 5)
- # other method
- datasetBirthRate5_2 = lapply(split(datasetSort_2,
- datasetSort_2$state), function(x) head(x, 5))
- ## The hospital with the highest birthrate in each state
- datasetMaxBR = datasetSort %>% group_by(state) %>%
- filter(birthrate==max(birthrate))
- # other method
- datasetMaxBR_2 = do.call(ribind,
- lapply(split(datasetSort_2, datasetSort_2$state),
- function(x) x[which.max(x$birthrate)]))
- ## The hospital with the lowest deathrate in each state
- datasetMinDR = datasetSort %>% group_by(state) %>%
- filter(deathrate==min(deathrate))
- # other method
- datasetMaxBR_2 = do.call(rbind,
- lapply(split(datasetSort_2, datasetSort_2$state),
- function(x) x[which.min(x$deathrate)]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement