install.packages(“pixmap”)

library(pixmap)

mtrush1 <- read.pnm("F:\\cloud\\2015년 여름방학\\artofr_data\\mtrush1.pgm")
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in readChar(con, nchars = 1): UTF-8가 아닌 MBCS 로케일에서만 바이트
## 로만 읽을 수 있습니다
## Warning in rep(cellres, length = 2): 'x' is NULL so the result will be NULL
mtrush1
## Pixmap image
##   Type          : pixmapGrey 
##   Size          : 194x259 
##   Resolution    : 1x1 
##   Bounding box  : 0 0 259 194
plot(mtrush1)

str(mtrush1)
## Formal class 'pixmapGrey' [package "pixmap"] with 6 slots
##   ..@ grey    : num [1:194, 1:259] 0.31 0.259 0.231 0.216 0.204 ...
##   ..@ channels: chr "grey"
##   ..@ size    : int [1:2] 194 259
##   ..@ cellres : num [1:2] 1 1
##   ..@ bbox    : num [1:4] 0 0 259 194
##   ..@ bbcent  : logi FALSE
mtrush2 <- mtrush1
mtrush2@grey[84:163, 135:177] <- 1
plot(mtrush2)

공분산 행렬 생성하기

row는 해당 행렬 원소의 행 번호 반환 col은 해당 행렬 원소의 열 번호 반환

m <- matrix(c(1, 3, 5, 6, 3, 1), ncol = 3)

row(m)
##      [,1] [,2] [,3]
## [1,]    1    1    1
## [2,]    2    2    2
col(m)
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    1    2    3
makecov <- function(rho, n)
{
  m <- matrix(nrow = n, ncol = n)
  m <- ifelse(row(m)==col(m), 1, rho)
  m
}

makecov(.7, 8)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,]  1.0  0.7  0.7  0.7  0.7  0.7  0.7  0.7
## [2,]  0.7  1.0  0.7  0.7  0.7  0.7  0.7  0.7
## [3,]  0.7  0.7  1.0  0.7  0.7  0.7  0.7  0.7
## [4,]  0.7  0.7  0.7  1.0  0.7  0.7  0.7  0.7
## [5,]  0.7  0.7  0.7  0.7  1.0  0.7  0.7  0.7
## [6,]  0.7  0.7  0.7  0.7  0.7  1.0  0.7  0.7
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  1.0  0.7
## [8,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  1.0

outliner 찾기

findols <- function(x)
{
  findol <- function(xrow)
  {
    mdn <- median(xrow)
    devs <- abs(xrow - mdn)
    return(which.max(devs))
  }
  return(apply(x, 1, findol))
}

x<-matrix(rnorm(50), ncol=5)
x
##             [,1]       [,2]        [,3]         [,4]        [,5]
##  [1,]  1.3754815  1.9478922 -0.04663664 -0.005534258  0.76319920
##  [2,]  0.2339719  1.4309512 -0.18237620  0.679736403 -1.25510474
##  [3,] -0.7772559 -0.1714389  0.55337865  0.398911362  0.02312157
##  [4,]  0.3547756  0.6973181  0.37406696 -0.060832888 -0.65325473
##  [5,]  0.5984762  0.4772912 -0.56208705 -0.340417717 -1.96966181
##  [6,] -1.0130847  0.6077772 -1.22322663 -0.013816618 -0.46349458
##  [7,] -0.3829216  1.1050960  0.14962661  1.419287618 -1.79036678
##  [8,] -0.2217746  1.1792313 -1.76237116 -1.403405485  0.79754120
##  [9,]  0.1414903 -0.9449728  0.13199145  0.185556658  0.41020502
## [10,]  0.0531219  1.4947177 -0.98385171  0.063553289  0.45097638
findols(x)
##  [1] 2 5 1 5 5 2 5 3 2 2