You are on page 1of 2

Density Based:

1. install and call need libraries:


library("readxl")
library("fpc")
library("factoextra")
library(ggpubr)
2. read data from data1.xlsx file, then select columns 2,3:
my_data <- read_excel(file.choose()) #Read excel file and choose its location
dataFrame <- as.data.frame(my_data[2:3],col.names = c("times ", "accel")) #Picking desired columns to cluster into a data frame
3. start Density Based method:
db <- fpc::dbscan(dataFrame, eps = 11, MinPts = 3,) #Radius = 11 Min Points = 3
4. Plot DBSCAN results
plot(db, dataFrame, main = "DBSCAN", frame = FALSE) #Plot DBSCAN results
Output:

Another plot Better for visualizing clusters


fviz_cluster(db, dataFrame,main = "Cluster plot", geom = c("point", "text"), pointsize = 3, ellipse.alpha = 0.15, outlier.color = "black",
palette = "npg", outlier.shape = "X", outlier.pointsize = 4)
Output:
Consolidated code:
#Package to read excel file
install.packages("readxl")
library("readxl")
#Package to perform DBSCAN clustering algorithm
install.packages("fpc")
library("fpc")
#Package to use cluster plot
install.packages("factoextra")
library("factoextra")
library(ggpubr)

#Read excel file and choose its location


my_data <- read_excel(file.choose())

#Picking desired columns to cluster into a data frame


dataFrame <- as.data.frame(my_data[2:3],col.names = c("times ", "accel"))
dataFrame

#Radius = 11 Min Points = 3


db <- fpc::dbscan(dataFrame, eps = 11, MinPts = 3,)
db
# Plot DBSCAN results
plot(db, dataFrame, main = "DBSCAN", frame = FALSE)
# Better for visualizing clusters
fviz_cluster(db, dataFrame,main = "Cluster plot", geom = c("point", "text"),
pointsize = 3, ellipse.alpha = 0.15, outlier.color = "black",
palette = "npg", outlier.shape = "X", outlier.pointsize = 4)

You might also like