聚类:圆形树状图
library(ape)
hc = hclust(dist(mtcars))
plot(as.phylo(hc), type = "fan")
决策树
library(rpart)
library(rpart.plot)
model<- rpart(label ~ sd+Q25+IQR+sp.ent+sfm+meanfun+mode, data = tree,method="class",parms=list(split="information"))
fancyRpartPlot(model) #画图
相关性矩阵
注意:如果元数据中有NA这类缺失异常值,矩阵图是出不来的,请先做好数据清理
1、
#先画右上角部分图形
corrplot(corr = cor(data),type="upper",tl.pos="tp")
#再添加左下部分的数值
corrplot(corr = cor(data),add=T, type="lower", method="number",diag=T,tl.pos="n",cl.pos="n")
#删除缺失值
data<-na.omit(data)
#矩阵作图
corrplot(corr=cor(data),method = "color",type = "upper",order = "hclust",addCoef.col = "#ff0099")
网络关系图及中心度计算
library("igraph")
netdata <- read.table("task4.txt")
natdata <- as.matrix(netdata)
print(natdata)
chn jpn kor mly sgp tha usd euro bra ind sa
chn 0 350 100 37 100 65 790 1500 900 610 300
jpn 350 0 120 55 20 95 990 990 450 550 95
kor 100 120 0 100 340 100 1090 1000 990 270 331
mly 37 55 100 0 118 310 230 27 33 340 0
sgp 100 0 0 250 0 220 800 600 430 90 10
tha 65 95 100 310 220 0 0 20 55 60 0
usd 790 990 1090 230 800 900 0 4300 900 790 10
euro 1500 1000 90 288 981 189 769 0 671 365 90
bra 900 190 993 170 697 222 130 370 0 99 78
ind 610 62 55 13 14 76 167 59 66 0 31
sa 300 10 15 20 91 66 89 97 80 0 0
# right
set.seed(10)
network1=graph_from_adjacency_matrix(natdata, weighted=TRUE)
plot(network1, main="weighted")
# 计算中心度(Degree, Betweenness, Closeness)
degree(network1)
# Betweenness
betweenness(network1)
# Closeness
closeness(network1)
网络关系图进阶版 (动态交互图)
library(networkD3)
data(MisLinks)
data(MisNodes)
forceNetwork(Links = MisLinks,#线性质数据框
Nodes = MisNodes,#节点性质数据框
Source = "source",#连线的源变量
Target = "target",#连线的目标变量
Value = "value",#连线的粗细值
NodeID = "name",#节点名称
Group = "group",#节点的分组
Nodesize = "size" ,#节点大小,节点数据框中
###美化部分
fontFamily="宋体",#字体设置如"华文行楷" 等
fontSize = 20, #节点文本标签的数字字体大小(以像素为单位)。
linkColour="black",#连线颜色,black,red,blue,
#colourScale ,linkWidth,#节点颜色,red,cyan,yellow等
charge = -100,#数值表示节点排斥强度(负值)或吸引力(正值)
opacity = 0.9,
legend=T,#显示节点分组的颜色标签
arrows=T,#是否带方向
bounded=F,#是否启用限制图像的边框
opacityNoHover=1.0, #节点标签文本显示的不透明度比例
zoom = T)#允许缩放,双击放大