brfssLRCleanData <- read.csv('E:\\IEC\\Project 2\\BRFSS Data\\brfssLRCleanData.csv')
selected_brfss <- brfssLRCleanData %>%
select( X_RFBMI5 , X_RFSMOK3, DRNKANY5)
selected_brfss <- na.delete(selected_brfss)
corr.matrix <- cor(selected_brfss)
corrplot(corr.matrix, main="\n\nCorrelation Plot of BMI, Smokers, Alcohol Drinkers and Age", method="number")
#No any two numeric variables seem to have strong correlations
#Logistic Regression to Predict Stroke
stroke <- brfssLRCleanData%>%
select( X_RFBMI5 , X_RFSMOK3, DRNKANY5, CVDSTRK3)
stroke$X_RFBMI5 <- as.factor(recode(stroke$X_RFBMI5, '1' = 'Yes', '2' = 'No', .missing = NULL,.default = NULL))
stroke$X_RFSMOK3 <- as.factor(recode(stroke$X_RFSMOK3, '1' = 'Yes', '2' = 'No', .missing = NULL,.default = NULL))
stroke$DRNKANY5 <- as.factor(recode(stroke$DRNKANY5, '1' = 'Yes', '2' = 'No', .missing = NULL,.default = NULL))
stroke$CVDSTRK3 <- as.factor(recode(stroke$CVDSTRK3, '1' = 'Yes', '2' = 'No', .missing = NULL,.default = NULL))
stroke <- na.delete(stroke)
summary(stroke)
#Logistic Regression Model Fitting
#Use 80% of dataset as training set and remaining 30% as testing set
sample <- sample.split(stroke, SplitRatio = 0.8)
train <- subset(stroke, sample == TRUE)
test <- subset(stroke, sample == FALSE)
model <- glm(CVDSTRK3~., family=binomial(link = 'logit'), data=train)
summary(model)
anova(model, test="Chisq")
fitted.results <- predict(model,newdata=test,type='response')
fitted.results <- ifelse(fitted.results > 0.5,"Yes","No")
misClasificError <- mean(fitted.results != test$CVDSTRK3)
print(paste('Accuracy',1-misClasificError))
#ROC-curve using pROC library
library(pROC)
library(ROCR)
p <- predict(model, newdata=test, type="response")
p <- as.data.frame(p)
pr <- ROCR::prediction(p, test)
prf <- performance(pr, measure = "tpr", x.measure = "fpr")[,2]
plot(prf)
auc <- performance(pr, measure = "auc")
auc <- auc@y.values[[1]]
auc
Error in line: pr <- ROCR::prediction(p, test) is: Error in ROCR::prediction(p, test) : Number of cross-validation runs must be equal for predictions and labels.
BRFSS is a survey data. it has values in Yes or NO only or 1 and 2. I am getting this error. can anyone help please?