Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # This function was written for working with this dataset:
- # https://spark-public.s3.amazonaws.com/compdata/data/Baltimore_homicides.zip
- # It extracts all cases of a given cause and returns a data frame with two
- # coulmns Cause and Gender.
- gendercause <- function(data, cause) {
- data <- readLines("homicides.txt")
- if (cause == "asphyxiation") {
- asph <- grep("[Cc]ause: [Aa]sphyxiation", data)
- female <- grep("[Ff]emale", data[asph])
- male <- grep(" [Mm]ale", data[asph])
- cause <- character(0)
- for (i in asph) {
- i <- "asphyxiation"
- cause <- c(i, cause)
- }
- genfem <- character(0)
- for (i in female) {
- i <- "female"
- genfem <- c(i, genfem)
- }
- genmal <- character(0)
- for (i in male) {
- i <- "male"
- genmal <- c(i, genmal)
- }
- gentotal <- c(genfem, genmal)
- output <- data.frame(Cause = cause, Gender = gentotal)
- return(output)
- }
- else if (cause == "other") {
- oth <- grep("[Cc]ause: [Oo]ther", data)
- female <- grep("[Ff]emale", data[oth])
- male <- grep(" [Mm]ale", data[oth])
- cause <- character(0)
- for (i in oth) {
- i <- "other"
- cause <- c(i, cause)
- }
- genfem <- character(0)
- for (i in female) {
- i <- "female"
- genfem <- c(i, genfem)
- }
- genmal <- character(0)
- for (i in male) {
- i <- "male"
- genmal <- c(i, genmal)
- }
- gentotal <- c(genfem, genmal)
- output <- data.frame(Cause = cause, Gender = gentotal)
- return(output)
- }
- else if (cause == "blunt force") {
- bf <- grep("[Cc]ause: [Bb]lunt.[Ff]orce", data)
- female <- grep("[Ff]emale", data[bf])
- male <- grep(" [Mm]ale", data[bf])
- cause <- character(0)
- for (i in bf) {
- i <- "blunt force"
- cause <- c(i, cause)
- }
- genfem <- character(0)
- for (i in female) {
- i <- "female"
- genfem <- c(i, genfem)
- }
- genmal <- character(0)
- for (i in male) {
- i <- "male"
- genmal <- c(i, genmal)
- }
- gentotal <- c(genfem, genmal)
- output <- data.frame(Cause = cause, Gender = gentotal)
- return(output)
- }
- else if (cause == "shooting") {
- shoot <- grep("[Cc]ause: [Ss]hooting", data)
- female <- grep("[Ff]emale", data[shoot])
- male <- grep("[^t] [Mm]ale", data[shoot])
- cause <- character(0)
- for (i in shoot) {
- i <- "shooting"
- cause <- c(i, cause)
- }
- genfem <- character(0)
- for (i in female) {
- i <- "female"
- genfem <- c(i, genfem)
- }
- genmal <- character(0)
- for (i in male) {
- i <- "male"
- genmal <- c(i, genmal)
- }
- gentotal <- c(genfem, genmal)
- output <- data.frame(Cause = cause, Gender = gentotal)
- return(output)
- }
- else if (cause == "stabbing") {
- stab <- grep("[Cc]ause: [Ss]tabbing", data)
- female <- grep("[Ff]emale", data[stab])
- male <- grep(" [Mm]ale", data[stab])
- cause <- character(0)
- for (i in stab) {
- i <- "stabbing"
- cause <- c(i, cause)
- }
- genfem <- character(0)
- for (i in female) {
- i <- "female"
- genfem <- c(i, genfem)
- }
- genmal <- character(0)
- for (i in male) {
- i <- "male"
- genmal <- c(i, genmal)
- }
- gentotal <- c(genfem, genmal)
- output <- data.frame(Cause = cause, Gender = gentotal)
- return(output)
- }
- else if (cause == "unknown") {
- unknown <- grep("[Cc]ause: [Uu]nknown", data)
- female <- grep("[Ff]emale", data[unknown])
- male <- grep(" [Mm]ale", data[unknown])
- cause <- character(0)
- for (i in unknown) {
- i <- "unknown"
- cause <- c(i, cause)
- }
- genfem <- character(0)
- for (i in female) {
- i <- "female"
- genfem <- c(i, genfem)
- }
- genmal <- character(0)
- for (i in male) {
- i <- "male"
- genmal <- c(i, genmal)
- }
- gentotal <- c(genfem, genmal)
- output <- data.frame(Cause = cause, Gender = gentotal)
- return(output)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement