library(readr)
fraudTest <- read_csv("fraudTest.csv")
New names:
• `` -> `...1`
Rows: 555719 Columns: 23
── Column specification ───────────────────────────────────────────────────────────────
Delimiter: ","
chr (12): trans_date_trans_time, merchant, category, first, last, gender, street, c...
dbl (11): ...1, cc_num, amt, zip, lat, long, city_pop, unix_time, merch_lat, merch_...
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(fraudTest)
library(tidyverse)
library(dplyr)
library(ggthemes)
Warning: package ‘ggthemes’ was built under R version 4.4.2
library(ggplot2)
#Histogram
fraudTest %>% filter(is_fraud == 1) %>% ggplot(aes(x=amt)) +
geom_histogram(bins=30, fill="blue", color="black") +
ggtitle("Transaction Amount Distribution for is Fraud")


#Fraud Transactions by Cat

#Anova Test
# Summary of the ANOVA results
summary(anova_result)
Df Sum Sq Mean Sq F value Pr(>F)
time_of_day 3 35533019 11844340 85.91 <2e-16 ***
Residuals 2141 295180423 137870
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#Map Vis
state_abbreviations <- data.frame(
abbr = state.abb,
name = tolower(state.name)
)
# Step 2: Convert abbreviations in fraudTest to full state names
fraud_data <- fraudTest %>%
filter(is_fraud == 1) %>%
group_by(state) %>%
summarize(is_fraud = n()) %>%
left_join(state_abbreviations, by = c("state" = "abbr")) %>%
rename(state_full = name)
# Step 3: Prepare the US states spatial data
us_states <- us_states %>%
mutate(state = tolower(ID)) %>%
left_join(fraud_data, by = c("state" = "state_full"))
# Step 4: Create the
us_mp <- ggplot(data = us_states) +
geom_sf(aes(fill = is_fraud), color = "white") +
scale_fill_gradient(
low = "lightblue", high = "red",
name = "Fraud Count"
) +
theme_minimal() +
labs(
title = "Fraud Incidents by State",
subtitle = "Highlighting states with the highest number of fraud incidents"
)
us_mp

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQNCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogIHdvcmRfZG9jdW1lbnQ6IGRlZmF1bHQNCi0tLQ0KDQoNCmBgYHtyfQ0KbGlicmFyeShyZWFkcikNCmZyYXVkVGVzdCA8LSByZWFkX2NzdigiZnJhdWRUZXN0LmNzdiIpDQpWaWV3KGZyYXVkVGVzdCkNCmBgYA0KDQoNCmBgYHtyfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShnZ3RoZW1lcykNCmxpYnJhcnkoZ2dwbG90MikNCmBgYA0KDQojSGlzdG9ncmFtDQpgYGB7cn0NCmZyYXVkVGVzdCAlPiUgZmlsdGVyKGlzX2ZyYXVkID09IDEpICU+JSBnZ3Bsb3QoYWVzKHg9YW10KSkgKyANCmdlb21faGlzdG9ncmFtKGJpbnM9MzAsIGZpbGw9ImJsdWUiLCBjb2xvcj0iYmxhY2siKSArDQogIGdndGl0bGUoIlRyYW5zYWN0aW9uIEFtb3VudCBEaXN0cmlidXRpb24gZm9yIGlzIEZyYXVkIikNCmBgYA0KDQoNCmBgYHtyfQ0KY29vbF9jb2xvcnMgPC0gYygiY3lhbiIsInNreWJsdWUiLCJuYXZ5IiwicHVycGxlIiwidmlvbGV0Iiwib3JhbmdlIiwieWVsbG93IiwiYnJvd24iLCJncmF5IiwidGFuIiwgInNpZW5uYSIsICIjNTZCNEU5IiwiIzAwOUU3MyIsICAiI0NDNzlBNyIgKQ0KDQojRmlsdGVyaW5nIGZvciBmcmF1ZHVsZW50IHRyYW5zYWN0aW9ucywgZ3JvdXAgYnkgc3RhdGUsIGFuZCBnZXQgdG9wIDI1IHN0YXRlcw0KY2F0X3N0YXRlIDwtIGZyYXVkVGVzdCAlPiUNCiAgZmlsdGVyKGlzX2ZyYXVkID09IDEpICU+JSAgICAgICAgICANCiAgZ3JvdXBfYnkoc3RhdGUpICU+JSAgICAgICAgICAgICAgICANCiAgc3VtbWFyaXNlKHRvdGFsX2ZyYXVkID0gbigpLCAgICAgICANCiAgICAgICAgICAgIGF2Z19hbXQgPSBtZWFuKGFtdCkpICU+JSANCiAgYXJyYW5nZShkZXNjKHRvdGFsX2ZyYXVkKSkgJT4lICAgICANCiAgc2xpY2VfaGVhZChuID0gMjUpICU+JSAgICAgICAgICAgICANCiAgbGVmdF9qb2luKGZyYXVkVGVzdCwgYnkgPSAic3RhdGUiKSANCmNhdF9zdGF0ZQ0KDQojIHRoZSBwbG90IGZvciB0b3AgMTEgc3RhdGVzDQpnZ3Bsb3QoY2F0X3N0YXRlLCBhZXMoeCA9IGFtdCwgeSA9IHJlb3JkZXIoc3RhdGUsIHRvdGFsX2ZyYXVkKSwgZmlsbCA9IGNhdGVnb3J5KSkgKw0KICBnZW9tX2NvbCgpICsNCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gY29vbF9jb2xvcnMpICsgICMgQWRqdXN0IGZpbGwgY29sb3JzIG1hbnVhbGx5DQogIGdndGl0bGUoIkZyYXVkdWxlbnQgVHJhbnNhY3Rpb24gQW1vdW50IGJ5IFN0YXRlIGFuZCBDYXRlZ29yeSIpICsNCiAgdGhlbWVfY2xhc3NpYygpICsNCiAgbGFicyh4ID0gIlRyYW5zYWN0aW9uIEFtb3VudCIsIHkgPSAiU3RhdGUiLCBmaWxsID0gIkNhdGVnb3J5IikNCg0KDQoNCg0KYGBgDQoNCiNGcmF1ZCBUcmFuc2FjdGlvbnMgYnkgQ2F0DQpgYGB7cn0NCmRmPC1kYXRhLmZyYW1lKGZyYXVkVGVzdCkNCmRmIDwtZGZbZGYkaXNfZnJhdWQgPT0gMSxdDQpkYXRhdmFyPC1hcy5kYXRhLmZyYW1lKHh0YWJzKH5kZiRjYXRlZ29yeSkpDQpkYXRhdmFyDQpjb2xuYW1lcyhkYXRhdmFyKSA8LSBjKCJjYXRlZ29yeSIsICJjb3VudCIpDQoNCiMgQ3JlYXRlIHRoZSBiYXIgZ3JhcGgNCmdncGxvdChkYXRhdmFyLCBhZXMoeCA9IGNhdGVnb3J5LCB5ID0gY291bnQsIGZpbGw9IGNhdGVnb3J5KSkgKyANCiAgZ2VvbV9iYXIoc3RhdCA9ICJpZGVudGl0eSIpICsgZ3VpZGVzKGZpbGwgPSAibm9uZSIpICsNCiAgbGFicyh0aXRsZSA9ICJGcmF1ZHVsZW50IFRyYW5zYWN0aW9ucyBieSBDYXRlZ29yeSIsIHggPSAiQ2F0ZWdvcnkiLCB5ID0gIkNvdW50IikgKyB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IC00NSwgaGp1c3QgPSAwKSkNCmBgYA0KI0Fub3ZhIFRlc3QNCg0KYGBge3J9DQoNCmZyYXVkVGVzdCA8LSBmcmF1ZFRlc3QgJT4lDQogIG11dGF0ZSh0cmFuc19kYXRlX3RyYW5zX3RpbWUgPSBhcy5QT1NJWGN0KHRyYW5zX2RhdGVfdHJhbnNfdGltZSwgZm9ybWF0ID0gIiVtLyVkLyVZICVIOiVNIikpDQoNCmZyYXVkVGVzdCA8LSBmcmF1ZFRlc3QgJT4lDQogIGZpbHRlcihpc19mcmF1ZCA9PSAxKSAlPiUgIA0KICBtdXRhdGUoDQogICAgdGltZV9vZl9kYXkgPSBjYXNlX3doZW4oDQogICAgICBhcy5udW1lcmljKGZvcm1hdCh0cmFuc19kYXRlX3RyYW5zX3RpbWUsICIlSCIpKSA+PSA2ICYgDQogICAgICBhcy5udW1lcmljKGZvcm1hdCh0cmFuc19kYXRlX3RyYW5zX3RpbWUsICIlSCIpKSA8IDEyIH4gIk1vcm5pbmciLA0KICAgICAgYXMubnVtZXJpYyhmb3JtYXQodHJhbnNfZGF0ZV90cmFuc190aW1lLCAiJUgiKSkgPj0gMTIgJiANCiAgICAgIGFzLm51bWVyaWMoZm9ybWF0KHRyYW5zX2RhdGVfdHJhbnNfdGltZSwgIiVIIikpIDwgMTggfiAiQWZ0ZXJub29uIiwNCiAgICAgIGFzLm51bWVyaWMoZm9ybWF0KHRyYW5zX2RhdGVfdHJhbnNfdGltZSwgIiVIIikpID49IDE4ICYgDQogICAgICBhcy5udW1lcmljKGZvcm1hdCh0cmFuc19kYXRlX3RyYW5zX3RpbWUsICIlSCIpKSA8IDI0IH4gIkV2ZW5pbmciLA0KICAgICAgVFJVRSB+ICJOaWdodCINCiAgICApDQogICkNCg0KDQojIFBlcmZvcm0gQU5PVkENCmFub3ZhX3Jlc3VsdCA8LSBhb3YoYW10IH4gdGltZV9vZl9kYXksIGRhdGEgPSBmcmF1ZFRlc3QpDQoNCiMgU3VtbWFyeSBvZiB0aGUgQU5PVkEgcmVzdWx0cw0Kc3VtbWFyeShhbm92YV9yZXN1bHQpDQoNCmBgYA0KI01hcCBWaXMNCmBgYHtyfQ0KDQpzdGF0ZV9hYmJyZXZpYXRpb25zIDwtIGRhdGEuZnJhbWUoDQogIGFiYnIgPSBzdGF0ZS5hYmIsICAgICAgICAgDQogIG5hbWUgPSB0b2xvd2VyKHN0YXRlLm5hbWUpICANCikNCg0KIyBTdGVwIDI6IENvbnZlcnQgYWJicmV2aWF0aW9ucyBpbiBmcmF1ZFRlc3QgdG8gZnVsbCBzdGF0ZSBuYW1lcw0KDQpmcmF1ZF9kYXRhIDwtIGZyYXVkVGVzdCAlPiUNCiAgZmlsdGVyKGlzX2ZyYXVkID09IDEpICU+JSAgICAgICAgICAgICAgICAgICAgDQogIGdyb3VwX2J5KHN0YXRlKSAlPiUgICAgICAgICAgICAgICAgICAgICAgICAgDQogIHN1bW1hcml6ZShpc19mcmF1ZCA9IG4oKSkgJT4lICAgICAgICAgICAgIA0KICBsZWZ0X2pvaW4oc3RhdGVfYWJicmV2aWF0aW9ucywgYnkgPSBjKCJzdGF0ZSIgPSAiYWJiciIpKSAlPiUgDQogIHJlbmFtZShzdGF0ZV9mdWxsID0gbmFtZSkgICAgICAgICAgICAgICAgICAgIA0KDQojIFN0ZXAgMzogUHJlcGFyZSB0aGUgVVMgc3RhdGVzIHNwYXRpYWwgZGF0YQ0KDQp1c19zdGF0ZXMgPC0gdXNfc3RhdGVzICU+JQ0KICBtdXRhdGUoc3RhdGUgPSB0b2xvd2VyKElEKSkgJT4lICAgICAgICAgICAgICANCiAgbGVmdF9qb2luKGZyYXVkX2RhdGEsIGJ5ID0gYygic3RhdGUiID0gInN0YXRlX2Z1bGwiKSkgDQoNCiMgU3RlcCA0OiBDcmVhdGUgdGhlIA0KDQp1c19tcCA8LSBnZ3Bsb3QoZGF0YSA9IHVzX3N0YXRlcykgKw0KICBnZW9tX3NmKGFlcyhmaWxsID0gaXNfZnJhdWQpLCBjb2xvciA9ICJ3aGl0ZSIpICsgDQogIHNjYWxlX2ZpbGxfZ3JhZGllbnQoDQogICAgbG93ID0gImxpZ2h0Ymx1ZSIsIGhpZ2ggPSAicmVkIiwNCiAgICBuYW1lID0gIkZyYXVkIENvdW50Ig0KICApICsNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgbGFicygNCiAgICB0aXRsZSA9ICJGcmF1ZCBJbmNpZGVudHMgYnkgU3RhdGUiLA0KICAgIHN1YnRpdGxlID0gIkhpZ2hsaWdodGluZyBzdGF0ZXMgd2l0aCB0aGUgaGlnaGVzdCBudW1iZXIgb2YgZnJhdWQgaW5jaWRlbnRzIg0KICApDQoNCg0KdXNfbXANCg0KYGBgDQoNCg==