輪廓圖
輪廓圖
outline <- function(x, txt = TRUE){
if (is.data.frame(x) == TRUE)
x <- as.matrix(x)
m <- nrow(x); n <- ncol(x)
plot(c(1,n), c(min(x),max(x)), type = "n",
main = "The outline graph of Data",
xlab = "Number", ylab = "Value")
for(i in 1:m){
lines(x[i,], col=i)
if (txt == TRUE){
k <- dimnames(x)[[1]][i]
text(1+(i-1)%%n, x[i,1+(i-1)%%n], k)
}
}
}
其中x是數據框或者矩陣。txt=TRUE是缺省值時,繪圖時給出觀測值的標號;否則不給出標號。
例:
source("outline.R")
outline(X)
星圖
stars(x, full = TRUE, scale = TRUE, radius = TRUE,
labels = dimnames(x)[[1]], locations = NULL,
nrow = NULL, ncol = NULL, len = 1,
key.loc = NULL, key.labels = dimnames(x)[[2]], key.xpd = TRUE,
xlim = NULL, ylim = NULL, flip.labels = NULL,
draw.segments = FALSE, col.segments = 1:n.seg, col.stars = NA,
axes = FALSE, frame.plot = axes,
main = NULL, sub = NULL, xlab = “”, ylab = “”,
cex = 0.8, lwd = 0.25, lty = par(“lty”), xpd = FALSE,
mar = pmin(par(“mar”),
1.1+ c(2axes+ (xlab != “”),
2axes+ (ylab != “”), 1,0)),
add = FALSE, plot = TRUE, …)
其中x是矩陣或者數據框。full=TRUE(缺省值)時,則星圖畫成圓的,否則(FALSE)畫成上半圓形。scale=TRUE(缺省值),數據矩陣的每一列是獨立的,並且每列的最大值爲1,最小值爲0,否則所有星圖會疊在一起。radius=TRUE(缺省值)繪出星圖的半徑構成的連線,否則繪出的星圖無半徑構成的連線。len是半徑尺度因子(缺省值爲1),表明星圖的比例。key.loc是一個由x與y座標構成的向量(缺省值爲NULL),它表明標準星的位置。draw.segments=TRUE(缺省值時FALSE),繪出的星圖是一段一段的弧。
調和曲線圖
unison <- function(x){
if (is.data.frame(x) == TRUE)
x <- as.matrix(x)
t <- seq(-pi, pi, pi/30)
m <- nrow(x); n<-ncol(x)
f <- array(0, c(m,length(t)))
for(i in 1:m){
f[i,] <- x[i,1]/sqrt(2)
for( j in 2:n){
if (j%%2 == 0)
f[i,] <- f[i,]+x[i,j]*sin(j/2*t)
else
f[i,] <- f[i,]+x[i,j]*cos(j%/%2*t)
}
}
plot(c(-pi,pi), c(min(f), max(f)), type = "n",
main = "The Unison graph of Data",
xlab = "t", ylab = "f(t)")
for(i in 1:m) lines(t, f[i,] , col = i)
}