uploaded r code for interpolation
This commit is contained in:
parent
cf735b845b
commit
618b6b6ab7
58
dataset/interpolation_function.R
Normal file
58
dataset/interpolation_function.R
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
setwd("~/Desktop/cdsc/health literacy/")
|
||||||
|
|
||||||
|
best = read.csv("Best_Data.csv")
|
||||||
|
|
||||||
|
# subsetting desired years
|
||||||
|
|
||||||
|
years = c("2007", "2010", "2013", "2016")
|
||||||
|
|
||||||
|
best_subsetted = best[best$Year %in% years,]
|
||||||
|
|
||||||
|
# creating empty rows for interpolation + interpolating the mean (stigma) scores
|
||||||
|
|
||||||
|
expand = function(df){
|
||||||
|
total_years = seq(min(df$Year), max(df$Year))
|
||||||
|
expanded_df = data.frame(Year = total_years)
|
||||||
|
unique_diseases = unique(df$Reconciled_Name)
|
||||||
|
expanded_data = data.frame()
|
||||||
|
|
||||||
|
for (disease in unique_diseases){
|
||||||
|
disease_data = df[df$Reconciled_Name == disease, ]
|
||||||
|
expanded_disease_data = merge(expanded_df, disease_data, by = "Year", all.x = TRUE)
|
||||||
|
expanded_disease_data$Reconciled_Name = disease
|
||||||
|
expanded_data = rbind(expanded_data, expanded_disease_data)
|
||||||
|
}
|
||||||
|
|
||||||
|
for (disease in unique_diseases) {
|
||||||
|
disease_data = expanded_data[expanded_data$Reconciled_Name == disease, ]
|
||||||
|
known_year = which(!is.na(disease_data$mean))
|
||||||
|
# sort known_year it by year
|
||||||
|
|
||||||
|
for (i in 1:(length(known_year) - 1)) {
|
||||||
|
before_year = known_year[i]
|
||||||
|
after_year = known_year[i + 1]
|
||||||
|
if (is.na(after_year)){
|
||||||
|
print("break")
|
||||||
|
break
|
||||||
|
}
|
||||||
|
start_mean = disease_data$mean[before_year]
|
||||||
|
end_mean = disease_data$mean[after_year]
|
||||||
|
num_missing = after_year - before_year - 1
|
||||||
|
print(after_year)
|
||||||
|
|
||||||
|
if (num_missing > 0) {
|
||||||
|
increment = (end_mean - start_mean) / (num_missing + 1)
|
||||||
|
|
||||||
|
for (j in 1:num_missing) {
|
||||||
|
disease_data$mean[before_year + j] = start_mean + increment * j
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
expanded_data[expanded_data$Reconciled_Name == disease, ] = disease_data
|
||||||
|
}
|
||||||
|
|
||||||
|
return(expanded_data)
|
||||||
|
}
|
||||||
|
|
||||||
|
best_interpolated = expand(best_subsetted)
|
19
dataset/map_and_merge.R
Normal file
19
dataset/map_and_merge.R
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
setwd("~/Desktop/cdsc/health literacy/")
|
||||||
|
|
||||||
|
mapping = read.delim("Mapping - Sheet1.tsv")
|
||||||
|
mapping <- mapping[,colnames(mapping) != "Notes"]
|
||||||
|
|
||||||
|
IHME = read.csv("IHME_Data.csv")
|
||||||
|
best <- read.csv("Best_Data.csv")
|
||||||
|
|
||||||
|
# first, create the list of all the one-to-ones
|
||||||
|
d <- merge(best, mapping[!is.na(mapping$Mapping_Type) & mapping$Mapping_Type == "one-to-one",], by.x="Reconciled_Name", by.y="Best_Disease_Name", all=TRUE)
|
||||||
|
|
||||||
|
|
||||||
|
# now merge the imhe data on
|
||||||
|
d <- merge(d, IHME[IHME$measure_name == "DALYs (Disability-Adjusted Life Years)",
|
||||||
|
c("cause_id", "measure_name", "year", "val")],
|
||||||
|
by.x=c("IHME_Cause_ID", "Year"),
|
||||||
|
by.y=c("cause_id", "year"))
|
||||||
|
# next, handle the one-to-manys but summing up
|
||||||
|
|
Loading…
Reference in New Issue
Block a user