data(cars)
median(cars[,1])
## [1] 15
# Load required package
if (!require(jsonlite)) {
install.packages("jsonlite", repos = "https://cloud.r-project.org")
}
## Loading required package: jsonlite
library(jsonlite)
# Construct URL for CryptoCompare daily historical data
# We request the last 100 data points using limit=100
url <- "https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=100"
# Fetch JSON data from the API
btc_data_raw <- fromJSON(url)
# Extract just the daily price data
# (the nested list is usually in Data$Data based on observation)
btc_df <- btc_data_raw$Data$Data
# Convert Unix timestamp to a human-readable date column
btc_df$time <- as.POSIXct(btc_df$time, origin = "1970-01-01", tz = "UTC")
# Compute maximum daily closing price
max_close <- max(btc_df$close, na.rm = TRUE)
# Print the result
print(max_close)
## [1] 96945.09
college_data <- read.csv("CollegeScorecard.csv")
colnames(college_data)
## [1] "UNITID" "OPEID6"
## [3] "INSTNM" "CONTROL"
## [5] "MAIN" "CIPCODE"
## [7] "CIPDESC" "CREDLEV"
## [9] "CREDDESC" "IPEDSCOUNT1"
## [11] "IPEDSCOUNT2" "DEBT_ALL_STGP_ANY_N"
## [13] "DEBT_ALL_STGP_ANY_MEAN" "DEBT_ALL_STGP_ANY_MDN"
## [15] "DEBT_ALL_STGP_EVAL_N" "DEBT_ALL_STGP_EVAL_MEAN"
## [17] "DEBT_ALL_STGP_EVAL_MDN" "DEBT_ALL_PP_ANY_N"
## [19] "DEBT_ALL_PP_ANY_MEAN" "DEBT_ALL_PP_ANY_MDN"
## [21] "DEBT_ALL_PP_EVAL_N" "DEBT_ALL_PP_EVAL_MEAN"
## [23] "DEBT_ALL_PP_EVAL_MDN" "DEBT_MALE_STGP_ANY_N"
## [25] "DEBT_MALE_STGP_ANY_MEAN" "DEBT_MALE_STGP_ANY_MDN"
## [27] "DEBT_MALE_STGP_EVAL_N" "DEBT_MALE_STGP_EVAL_MEAN"
## [29] "DEBT_MALE_STGP_EVAL_MDN" "DEBT_MALE_PP_ANY_N"
## [31] "DEBT_MALE_PP_ANY_MEAN" "DEBT_MALE_PP_ANY_MDN"
## [33] "DEBT_MALE_PP_EVAL_N" "DEBT_MALE_PP_EVAL_MEAN"
## [35] "DEBT_MALE_PP_EVAL_MDN" "DEBT_NOTMALE_STGP_ANY_N"
## [37] "DEBT_NOTMALE_STGP_ANY_MEAN" "DEBT_NOTMALE_STGP_ANY_MDN"
## [39] "DEBT_NOTMALE_STGP_EVAL_N" "DEBT_NOTMALE_STGP_EVAL_MEAN"
## [41] "DEBT_NOTMALE_STGP_EVAL_MDN" "DEBT_NOTMALE_PP_ANY_N"
## [43] "DEBT_NOTMALE_PP_ANY_MEAN" "DEBT_NOTMALE_PP_ANY_MDN"
## [45] "DEBT_NOTMALE_PP_EVAL_N" "DEBT_NOTMALE_PP_EVAL_MEAN"
## [47] "DEBT_NOTMALE_PP_EVAL_MDN" "DEBT_PELL_STGP_ANY_N"
## [49] "DEBT_PELL_STGP_ANY_MEAN" "DEBT_PELL_STGP_ANY_MDN"
## [51] "DEBT_PELL_STGP_EVAL_N" "DEBT_PELL_STGP_EVAL_MEAN"
## [53] "DEBT_PELL_STGP_EVAL_MDN" "DEBT_PELL_PP_ANY_N"
## [55] "DEBT_PELL_PP_ANY_MEAN" "DEBT_PELL_PP_ANY_MDN"
## [57] "DEBT_PELL_PP_EVAL_N" "DEBT_PELL_PP_EVAL_MEAN"
## [59] "DEBT_PELL_PP_EVAL_MDN" "DEBT_NOPELL_STGP_ANY_N"
## [61] "DEBT_NOPELL_STGP_ANY_MEAN" "DEBT_NOPELL_STGP_ANY_MDN"
## [63] "DEBT_NOPELL_STGP_EVAL_N" "DEBT_NOPELL_STGP_EVAL_MEAN"
## [65] "DEBT_NOPELL_STGP_EVAL_MDN" "DEBT_NOPELL_PP_ANY_N"
## [67] "DEBT_NOPELL_PP_ANY_MEAN" "DEBT_NOPELL_PP_ANY_MDN"
## [69] "DEBT_NOPELL_PP_EVAL_N" "DEBT_NOPELL_PP_EVAL_MEAN"
## [71] "DEBT_NOPELL_PP_EVAL_MDN" "DEBT_ALL_PP_ANY_MDN10YRPAY"
## [73] "DEBT_ALL_PP_EVAL_MDN10YRPAY" "DEBT_ALL_STGP_ANY_MDN10YRPAY"
## [75] "DEBT_ALL_STGP_EVAL_MDN10YRPAY" "EARN_COUNT_NWNE_HI_1YR"
## [77] "EARN_CNTOVER150_HI_1YR" "EARN_COUNT_WNE_HI_1YR"
## [79] "EARN_MDN_HI_1YR" "EARN_COUNT_NWNE_HI_2YR"
## [81] "EARN_CNTOVER150_HI_2YR" "EARN_COUNT_WNE_HI_2YR"
## [83] "EARN_MDN_HI_2YR" "BBRR2_FED_COMP_N"
## [85] "BBRR2_FED_COMP_DFLT" "BBRR2_FED_COMP_DLNQ"
## [87] "BBRR2_FED_COMP_FBR" "BBRR2_FED_COMP_DFR"
## [89] "BBRR2_FED_COMP_NOPROG" "BBRR2_FED_COMP_MAKEPROG"
## [91] "BBRR2_FED_COMP_PAIDINFULL" "BBRR2_FED_COMP_DISCHARGE"
## [93] "BBRR3_FED_COMP_N" "BBRR3_FED_COMP_DFLT"
## [95] "BBRR3_FED_COMP_DLNQ" "BBRR3_FED_COMP_FBR"
## [97] "BBRR3_FED_COMP_DFR" "BBRR3_FED_COMP_NOPROG"
## [99] "BBRR3_FED_COMP_MAKEPROG" "BBRR3_FED_COMP_PAIDINFULL"
## [101] "BBRR3_FED_COMP_DISCHARGE" "EARN_COUNT_PELL_WNE_1YR"
## [103] "EARN_PELL_WNE_MDN_1YR" "EARN_COUNT_NOPELL_WNE_1YR"
## [105] "EARN_NOPELL_WNE_MDN_1YR" "EARN_COUNT_MALE_WNE_1YR"
## [107] "EARN_MALE_WNE_MDN_1YR" "EARN_COUNT_NOMALE_WNE_1YR"
## [109] "EARN_NOMALE_WNE_MDN_1YR" "EARN_COUNT_NE_3YR"
## [111] "EARN_NE_MDN_3YR" "EARN_COUNT_WNE_3YR"
## [113] "EARN_CNTOVER150_3YR" "EARN_COUNT_PELL_NE_3YR"
## [115] "EARN_PELL_NE_MDN_3YR" "EARN_COUNT_NOPELL_NE_3YR"
## [117] "EARN_NOPELL_NE_MDN_3YR" "EARN_COUNT_MALE_NE_3YR"
## [119] "EARN_MALE_NE_MDN_3YR" "EARN_COUNT_NOMALE_NE_3YR"
## [121] "EARN_NOMALE_NE_MDN_3YR" "EARN_COUNT_NWNE_1YR"
## [123] "EARN_COUNT_WNE_1YR" "EARN_MDN_1YR"
## [125] "EARN_GT_THRESHOLD_1YR" "EARN_COUNT_HIGH_CRED_1YR"
## [127] "EARN_IN_STATE_1YR" "EARN_COUNT_NWNE_4YR"
## [129] "EARN_COUNT_WNE_4YR" "EARN_MDN_4YR"
## [131] "EARN_GT_THRESHOLD_4YR" "EARN_COUNT_PELL_WNE_4YR"
## [133] "EARN_PELL_WNE_MDN_4YR" "EARN_COUNT_NOPELL_WNE_4YR"
## [135] "EARN_NOPELL_WNE_MDN_4YR" "EARN_COUNT_MALE_WNE_4YR"
## [137] "EARN_MALE_WNE_MDN_4YR" "EARN_COUNT_NOMALE_WNE_4YR"
## [139] "EARN_NOMALE_WNE_MDN_4YR" "EARN_COUNT_HIGH_CRED_4YR"
## [141] "EARN_IN_STATE_4YR" "BBRR1_FED_COMP_N"
## [143] "BBRR1_FED_COMP_DFLT" "BBRR1_FED_COMP_DLNQ"
## [145] "BBRR1_FED_COMP_FBR" "BBRR1_FED_COMP_DFR"
## [147] "BBRR1_FED_COMP_NOPROG" "BBRR1_FED_COMP_MAKEPROG"
## [149] "BBRR1_FED_COMP_PAIDINFULL" "BBRR1_FED_COMP_DISCHARGE"
## [151] "BBRR4_FED_COMP_N" "BBRR4_FED_COMP_DFLT"
## [153] "BBRR4_FED_COMP_DLNQ" "BBRR4_FED_COMP_FBR"
## [155] "BBRR4_FED_COMP_DFR" "BBRR4_FED_COMP_NOPROG"
## [157] "BBRR4_FED_COMP_MAKEPROG" "BBRR4_FED_COMP_PAIDINFULL"
## [159] "BBRR4_FED_COMP_DISCHARGE" "DISTANCE"
## [161] "EARN_COUNT_NWNE_5YR" "EARN_COUNT_WNE_5YR"
## [163] "EARN_MDN_5YR" "EARN_GT_THRESHOLD_5YR"
## [165] "EARN_COUNT_PELL_WNE_5YR" "EARN_PELL_WNE_MDN_5YR"
## [167] "EARN_COUNT_NOPELL_WNE_5YR" "EARN_NOPELL_WNE_MDN_5YR"
## [169] "EARN_COUNT_MALE_WNE_5YR" "EARN_MALE_WNE_MDN_5YR"
## [171] "EARN_COUNT_NOMALE_WNE_5YR" "EARN_NOMALE_WNE_MDN_5YR"
## [173] "EARN_COUNT_HIGH_CRED_5YR" "EARN_IN_STATE_5YR"
####Data Cleaning
college_clean <- college_data[, c("INSTNM",
"CONTROL",
"DEBT_ALL_STGP_ANY_MDN",
"EARN_MDN_5YR")]
# Convert to numeric safely (some values may be suppressed)
college_clean$EARN_MDN_5YR <- as.numeric(
ifelse(college_clean$EARN_MDN_5YR == "PrivacySuppressed", NA,
college_clean$EARN_MDN_5YR)
)
## Warning: NAs introduced by coercion
college_clean$DEBT_ALL_STGP_ANY_MDN <- as.numeric(
ifelse(college_clean$DEBT_ALL_STGP_ANY_MDN == "PrivacySuppressed", NA,
college_clean$DEBT_ALL_STGP_ANY_MDN)
)
## Warning: NAs introduced by coercion
# Remove rows with missing values
college_clean <- na.omit(college_clean)
# Compute earnings-to-debt ratio
college_clean$earnings_debt_ratio <-
college_clean$EARN_MDN_5YR / college_clean$DEBT_ALL_STGP_ANY_MDN
# Inspect
head(college_clean[, c("INSTNM", "EARN_MDN_5YR", "DEBT_ALL_STGP_ANY_MDN", "earnings_debt_ratio")])
## INSTNM EARN_MDN_5YR DEBT_ALL_STGP_ANY_MDN
## 17 Alabama A & M University 85218 31000
## 30 Alabama A & M University 90409 35000
## 31 Alabama A & M University 82929 30500
## 40 Alabama A & M University 46627 33000
## 41 Alabama A & M University 40721 28271
## 50 Alabama A & M University 41798 25500
## earnings_debt_ratio
## 17 2.748968
## 30 2.583114
## 31 2.718984
## 40 1.412939
## 41 1.440381
## 50 1.639137