• このページは公開されるので個人情報などは記載しないこと。
  • 課題が完成したらknitPublishする。

課題名

library(MASS)
n <- 100
c <- vector('list', 7)
c[[1]] <- mvrnorm(n, mu = c( 0,  0), Sigma = rbind(c(2.0,  0.0), c( 0.0, 2.0)))
c[[2]] <- mvrnorm(n, mu = c( 0, 10), Sigma = rbind(c(2.0, -0.8), c(-0.8, 2.0)))
c[[3]] <- mvrnorm(n, mu = c(10,  0), Sigma = rbind(c(2.0, -0.8), c(-0.8, 2.0)))
c[[4]] <- mvrnorm(n, mu = c(-5, -5), Sigma = rbind(c(2.0,  0.8), c( 0.8, 2.0)))
c[[5]] <- mvrnorm(n, mu = c( 5,  5), Sigma = rbind(c(2.0,  0.8), c( 0.8, 2.0)))
c[[6]] <- mvrnorm(n, mu = c(-5,  5), Sigma = rbind(c(2.0, -0.8), c(-0.8, 2.0)))
c[[7]] <- mvrnorm(n, mu = c( 5, -5), Sigma = rbind(c(2.0, -0.8), c(-0.8, 2.0)))

for (i in seq_along(c))
{
  c[[i]] <- as.data.frame(c[[i]])
  colnames(c[[i]]) <- c('x', 'y')
}

# 単純な分類用データ
d <- data.frame(c(rep(1, n), rep(0, n)), rbind(c[[1]], c[[5]]))
colnames(d) <- c('blue', 'x', 'y')

# カラーパレット
COL <- c(rgb(255,   0,   0,  105, max = 255), # 赤
         rgb(  0,   0, 255,  105, max = 255), # 青
         rgb(  0, 155,   0,  105, max = 255), # 緑
         rgb(100, 100, 100,   20, max = 255)) # 灰

draw.fig <- function()
{
  # 図枠
  matplot (NA, type = 'n', xlim = c(-10, 15), ylim = c(-10, 20),
          xlab = 'x', ylab = 'y')

  grid() # 格子線 

  # 描画
  matlines(x = c[[1]]$x, y = c[[1]]$y, type = 'p', pch = 1, col = COL[2])
  #matlines(x = c[[2]]$x, y = c[[2]]$y, type = 'p', pch = 1, col = COL[2])
  #matlines(x = c[[3]]$x, y = c[[3]]$y, type = 'p', pch = 1, col = COL[2])
  #matlines(x = c[[4]]$x, y = c[[4]]$y, type = 'p', pch = 1, col = COL[1])
  matlines(x = c[[5]]$x, y = c[[5]]$y, type = 'p', pch = 1, col = COL[1])
  #matlines(x = c[[6]]$x, y = c[[6]]$y, type = 'p', pch = 1, col = COL[1])
  #matlines(x = c[[7]]$x, y = c[[7]]$y, type = 'p', pch = 1, col = COL[1])
}

#cairo_pdf('data_svm.pdf') # PDF画像作成(ここから)
draw.fig()

# 凡例
legend('topright', col = COL[1:2], pch = c(1, 1), bg = 'white',
      legend = c('赤', '青'))

rm(list = ls()) # 全オブジェクト削除
# ここにRコードを記入する。
#例)
plot(1:9)