Data Manipulation

load("./crimtab.RData")

산점도를 여러 유형으로 표현하기 위하여 필요한 패키지 설치

# install.packages("hexbin", repos = "http://cran.rstudio.com")
library(hexbin)

crimtab.bin 계산

crimtab.bin <- hexbin(crimtab.long.df$height, crimtab.long.df$finger, xbins = 50)

Plots

par(mfrow = c(2, 2))
plot(crimtab.long.df)
plot(crimtab.long.df, pch = 20)
# smoothScatter(crimtab.long.df[,"height"], crimtab.long.df[,"finger"], xlab = "height", ylab = "finger")
# smoothScatter(crimtab.long.df[,"height"], crimtab.long.df[,"finger"], nbin = 32, xlab = "height", ylab = "finger")
smoothScatter(crimtab.long.df, xlab = "height", ylab = "finger")
smoothScatter(crimtab.long.df, nbin = 32, xlab = "height", ylab = "finger")

Plot crimtab.bin

par(mfrow = c(1, 1))
plot(crimtab.bin, xlab = "height(inches)", ylab = "finger length(cm)")

산점도와 함께 주변분포 표시

par(mar = c(4, 4, 1, 1))
par(fig = c(0, 0.8, 0, 0.8))
plot(crimtab.long.df, pch = 20)
par(fig = c(0, 0.8, 0.68, 1), new = TRUE)
# hist(crimtab.long.df[, "height"], axes = FALSE, ann = FALSE)
hist(crimtab.long.df$height, axes = FALSE, ann = FALSE)
par(fig = c(0.68, 1, 0, 0.8), new = TRUE)
# barplot(table(cut(crimtab.long.df[, "finger"], breaks = 10)), space = 0, col = "white", horiz = TRUE, axes = FALSE, axisnames = FALSE)
barplot(table(cut(crimtab.long.df$finger, breaks = 10)), space = 0, col = "white", horiz = TRUE, axes = FALSE, axisnames = FALSE)

par(fig = c(0, 1, 0, 1))
par(mar = c(5, 4, 1, 1) + 0.1)
par(mfrow = c(2, 2))
persp(crimtab.2, xlab = "Finger Length", ylab = "Height")
persp(crimtab.2, xlab = "Finger Length", ylab = "Height", theta = 90, phi = 30, expand = 0.5, scale = TRUE)
persp(crimtab.2, xlab = "Finger Length", ylab = "Height", theta = 135, phi = 30, expand = 0.5, scale = TRUE)
persp(crimtab.2, xlab = "Finger Length", ylab = "Height", theta = 45, phi = 45, expand = 0.5, scale = TRUE)

par(mfrow = c(1, 1))