# 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
.