Phân tích dữ liệu bằng đồ thị trong R
chuc1803@gmail.com
Đồ thị là công cụ rất mạnh để
phân tích dữ liệu bởi tính trực quan, dễ hiểu. Thông thường trước khi tiến hành
các phân tích chuyên sâu, người ta thường sử dụng đồ thị để có “cái nhìn” ban đầu
về dữ liệu thu thập được. Vì vậy, kỹ năng phân tích dữ liệu bằng đồ thị là yêu
cầu rất cần thiết đối với người phân tích dữ liệu. Bài viết này giới thiệu về
cách phân tích dữ liệu bằng đồ thị trong ngôn ngữ R (Download code để thực hiện
trong R tại ĐÂY). Sử dụng Data set: iris (Download tại ĐÂY).
#Load dataset (iris)
setwd("D:/R")
library("xlsx")
iris=read.xlsx("iris.xlsx",1, header=T)
attach(iris)
fix(iris)
#Barplot & Pie
Chart
Species.Freq=table(iris$Species) #Calculate frequency of
Species
barplot(Species.Freq,
col=c("Red","Blue","Yellow"))
#Pie Chart
pie(Species.Freq)
# Create histograms
for each attribute
par(mfrow=c(1,4))
for(i in 1:4) {
hist(iris[,i],
main=names(iris) , xlab="cm")
}
# Density Plots
library(lattice)
par(mfrow=c(1,4))
for(i in 1:4) {
plot(density(iris[,i]), main=names(iris))
}
# Create separate
boxplots for each attribute
par(mfrow=c(1,4))
for(i in 1:4) {
boxplot(iris[,i],
main=names(iris), ylab="cm")
}
#Scatter Plot
plot(Sepal.Length,Sepal.Width, col=Species)
plot(Petal.Length,Petal.Width, col=Species)
# create correlation
plot
# load library
library(corrplot)
# calculate correlations
correlations = cor(iris[,1:4])
corrplot(correlations, method="circle")
Chú ý: Màu xanh là
Positive Correlation, màu đỏ là Negative Correlation, độ lớn của circle mô tả độ
lớn của correlation
# pair scatterplots
of all 4 attributes
install.packages("psych")
library(psych)
pairs.panels(iris)
#Density Plot
library(caret)
# density plots for each attribute by class value
x <- iris[,1:4]
y <- iris[,5]
scales <- list(x=list(relation="free"),
y=list(relation="free"))
featurePlot(x=x, y=y, plot="density",
scales=scales)
# box and whisker
plots for each attribute by class value
library(caret)
x <- iris[,1:4]
y <- iris[,5]
featurePlot(x=x, y=y, plot="box")
#Advanced Charts
install.packages("ggplot2")
library(ggplot2)
qplot(Sepal.Length, Sepal.Width, data=iris,
facets=Species~.)
#3D Chart
install.packages("scatterplot3d")
library(scatterplot3d)
scatterplot3d(Petal.Length, Sepal.Length,Sepal.Width)