# Installing the package
install.packages("caTools") # For Logistic regression
install.packages("ROCR")	 # For ROC curve to evaluate model
	
# Loading package
library(caTools)
library(ROCR)
# Splitting dataset
split <- sample.split(mtcars, SplitRatio = 0.8)
split
train_reg <- subset(mtcars, split == "TRUE")
test_reg <- subset(mtcars, split == "FALSE")
# Training model
logistic_model <- glm(vs ~ wt + disp,
					data = train_reg,
					family = "binomial")
logistic_model
# Summary
summary(logistic_model)
predict_reg <- predict(logistic_model,
					test_reg, type = "response")
predict_reg
predict_reg <- ifelse(predict_reg >0.5, 1, 0)
table(test_reg$vs, predict_reg)
missing_classerr <- mean(predict_reg != test_reg$vs)
print(paste('Accuracy =', 1 - missing_classerr))
ROCPred <- prediction(predict_reg, test_reg$vs)
ROCPer <- performance(ROCPred, measure = "tpr",
							x.measure = "fpr")
auc <- performance(ROCPred, measure = "auc")
auc <- [email protected][[1]]
auc
# Plotting curve
plot(ROCPer)
plot(ROCPer, colorize = TRUE,
	print.cutoffs.at = seq(0.1, by = 0.1),
	main = "ROC CURVE")
abline(a = 0, b = 1)
auc <- round(auc, 4)
legend(.6, .4, auc, title = "AUC", cex = 1)
 Write, Run & Share R Language code online using OneCompiler's R Language online compiler for free. It's one of the robust, feature-rich online compilers for R language, running on the latest version 3.4. Getting started with the OneCompiler's R Language compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as R and start coding.
R is very popular for data analytics which was created by Ross Ihaka and Robert Gentleman in 1993. Many big companies like Google, Facebook, Airbnb etc uses this language for data analytics. R is good for software developers, statisticians and data miners.
| Data type | Description | Usage | 
|---|---|---|
| Numeric | To represent decimal values | x=1.84 | 
| Integer | To represent integer values, L tells to store the value as integer | x=10L | 
| Complex | To represent complex values | x = 10+2i | 
| Logical | To represent boolean values, true or false | x = TRUE | 
| Character | To represent string values | x <- "One compiler" | 
| raw | Holds raw bytes | 
Variables can be assigned using any of the leftward, rightward or equal to operator. You can print the variables using either print or cat functions.
var-name = value
var-name <- value
value -> var-name
If, If-else, Nested-Ifs are used when you want to perform a certain set of operations based on conditional expressions.
if(conditional-expression){    
    #code    
} 
if(conditional-expression){  
    #code if condition is true  
} else {  
    #code if condition is false  
} 
if(condition-expression1) {  
    #code if above condition is true  
} elseif(condition-expression2){  
    #code if above condition is true  
}  
elseif(condition-expression3) {  
    #code if above condition is true  
}  
...  
else {  
    #code if all the conditions are false  
}  
Switch is used to execute one set of statement from multiple conditions.
switch(expression, case-1, case-2, case-3....)   
For loop is used to iterate a set of statements based on a condition.
for (value in vector) {  
  # code  
} 
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while(condition) {  
 # code 
}  
Repeat is used tyo iterate a set of statements with out any condition. You can write a user-defined condition to exit from the loop using IF.
repeat {   
   #code   
   if(condition-expression) {  
      break  
   }  
} 
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity.
func-name <- function(parameter_1, parameter_2, ...) {  
   #code for function body   
}  
function_name (parameters)
Vector is a basic data strucre where sequence of data values share same data type.
For example, the below statement assigns 1 to 10 values to x.
You can also use se() function to create vectors.
x <- 1:10
#using seq() function
 x <- seq(1, 10, by=2)
the above statement prints the output as [1] 1 3 5 7 9.