在当今的数据科学世界中,真相引导着前行。同时,从数据中提取可操作的洞察并不像看起来那么简单。将数据转化为有意义的洞察需要深入理解数据领域和数据来源的环境。
2020年成为了一个痛苦的年份。新冠疫情永远地改变了生活。这些艰难时期教会了如何变得坚韧和富有同情心。随着新冠疫苗的到来,希望正在萌芽。让学习如何利用数据的力量,通过分析COVID-19疫苗试验数据集,这些数据集导致了疫苗以创纪录的速度出现。
将使用R语言来探索和可视化COVID-19疫苗试验数据集。以下是将分析的COVID-19疫苗试验数据集在R中的可视化示例。
CovidDF = data.frame(read.csv("CovidTrials.csv"))
数据集包含5061个观测值(行)和27个变量(列)。分析性别变量:
unique(CovidDF$Gender)
结果展示了不同的性别分类。对性别变量的进一步分析显示,有4881个观测值未指定性别,40个男性,131个女性,9个未指定。
性别变量中的“全部”值表明可以是任何性别。在建模数据时,包含性别变量时很难获得精确结果。这是每个数据工程师处理不完整数据时的噩梦。
分析研究结果变量:
unique(CovidDF$Study.Results)
上述结果表明,在研究仍在进行时捕获了COVID-19试验数据集,其中5033个结果为“无结果可用”。
年龄变量包含自由格式值,使用不同的格式来捕获不同地点志愿者的年龄。以下是试验数据集中捕获的样本年龄值。
如果年龄以整数或范围格式捕获,那将会更好。由于它具有不同的值和格式,将使用convertAge函数将年龄近似为某个数值。
convertAge <- function(age) {
newage = str_replace_all(age, "Child", "")
newage = str_replace_all(newage, "Adult", "")
newage = str_replace_all(newage, "Older", "")
newage = str_replace_all(newage, "older", "")
newage = str_replace_all(newage, "and", "")
newage = str_replace_all(newage, "Years", "")
newage = str_replace_all(newage, "to", "")
newage = str_replace_all(newage, "up", "")
newage = str_replace_all(newage, "(", "")
newage = str_replace_all(newage, ")", "")
newage = str_replace_all(newage, ",", "")
newage = str_trim(newage, side = c("both", "left", "right"))
newage = ifelse(grepl("Months", newage, fixed = TRUE) == TRUE,str_replace_all(newage, newage, "2"), ageStrip)
newage = ifelse(grepl("Month", newage, fixed = TRUE) == TRUE,str_replace_all(newage, newage, "2"), ageStrip)
newage = ifelse(grepl("Days", newage, fixed = TRUE) == TRUE,str_replace_all(newage, newage, "1"), ageStrip)
newage = substr(newage, nchar(newage)-2+1, nchar(newage))
newage = as.numeric(newage)
}
ageVector <- sapply(CovidDF$Age, convertAge)
CovidDF$NewAge = ageVector
CovidDF$NewAge[is.na(CovidDF$NewAge)] <- 0
CovidDF$NewAge = as.numeric(CovidDF$NewAge)
上面的直方图提供了按年龄分组的志愿者数量信息。相同的信息的箱线图给出了中位数、第一和第三四分位数信息。
将变量条件转换为因子,一个整数值向量,对应一组字符值。然后可以使用条件因子的整数值绘制散点图,与新的年龄变量(也是数值)相对应。
ConditionFactor = as.factor(CovidDF$Conditions)
CovidDF$NewConditions = as.numeric(ConditionFactor)
plot(x=CovidDF$NewAge, y=CovidDF$NewConditions, xlab = "Age")