네이버 지도 불러오기

R 2015. 4. 29. 11:07

library(ggmap)


### 위성지도 ###

satmap <- get_navermap(

  center=c(lon=126.9525363, lat=37.4803967),

  zoom=13, ## 1 to 14

  key="c75a09166a38196955adee04d3a51bf8",

  uri="www.r-project.org",

  baselayer="satellite",

  overlayers="anno_satellite",

  format="png"

  )


ggmap(satmap)


### 일반도 ###

defmap <- get_navermap(

  center=c(lon=126.9528145, lat=37.4629952),

  zoom=11, ## 1 to 14

  key="c75a09166a38196955adee04d3a51bf8",

  uri="www.r-project.org",

  baselayer="default",

  overlayers="anno_satellite",

  format="png"

)


ggmap(defmap)



AND


data1.csv


##### 변수 #####

data1 <- read.csv("data1.csv")

attach(data1) ## 데이터명 : accerror

truevalue <- 100


##### 최확값 구하기 #####

mean(accerror)


##### 평균제곱근오차(표준편차, 정밀도) 구하기 #####

res <- accerror - mean(accerror)

sd <- sqrt(sum(res^2)/(length(accerror)-1))

sd


##### 평균제곱오차(정확도) 구하기 #####

bias <- truevalue - mean(accerror)

mse <- sd^2 + bias^2

mse


##### 표준오차, 확률오차 구하기 #####

se <- sqrt(sum(res^2)/((length(accerror)*(length(accerror)-1))))

pe <- 0.6745*sd

se ; pe 


##### 정규분포함수 #####

nordf1 <- function(x)

{

  h <- 1/(sqrt(2)*sd)

  v <- x-mean(accerror)

  h*(1/sqrt(pi))*(exp(1)^(-(h^2)*(v^2)))

}

nordf1(100)

nordf1(mean(accerror))


##### 구간 확률 구하기 #####

integrate(nordf1, 99.9, 100.1)

integrate(nordf1, mean(accerror)-sd, mean(accerror)+sd)

integrate(nordf1, mean(accerror)-pe, mean(accerror)+pe)


##### 정규분포곡선 그리기 #####

plot(

  nordf1,

  xlim=c(mean(accerror)-4*sd,mean(accerror)+4*sd), ## 4σ까지

  ylim=c(0,1)

)



AND

## 난수 생성하기 runif(n,min,max)

rddata1 <- runif(20,1,10)

rddata2 <- runif(20,1,10)

rddata3 <- runif(20,1,10)

truedata <- 5.5


## 평균(최확값) 구하기

mean(rddata1)

mean(rddata2)

mean(rddata3)


## 수치해석시 발생하는 오차

bias <- truedata - mean(rddata1)

residual1 <- rddata1[1]-mean(rddata1)

rerror1 <- abs(residual1)/rddata1[1] ## 상대오차(Relative Error)

residuals <- rddata1-mean(rddata1)

merror1 <- sum(abs(residuals))/length(rddata1) ## 평균오차(Mean Error)

RMSE <- sd(residuals) ## 표준편차

MSE <- RMSE^2 + bias^2 ## 평균오차제곱

serror1 <- sqrt(sum(residuals^2)/(length(rddata1)*(length(rddata1)-1))) ## 표준오차(Standard Error)

perror1 <- 0.6745*sqrt(sum(residuals^2)/(length(rddata1)*(length(rddata1)-1))) ## 확률오차(Probable Error)


## 구한 값 확인하기

rerror1

merror1 

RMSE ; sd(residuals)

MSE

serror1

perror1


## 정규분포곡선 그리기

nordf1 <- function(x)

{

  h <- 1/(sqrt(2)*RMSE)

  v <- x-mean(rddata1)

  h*(1/sqrt(pi))*(exp(1)^(-(h^2)*(v^2)))

}


plot(

  nordf1,

  xlim=c(mean(rddata1)-4*RMSE,mean(rddata1)+4*RMSE), ## 4σ까지

  ylim=c(0,0.3)

)


## 참고 : length(a) → 데이터 a의 개수를 확인하기 위해 사용한 함수임


AND


data.csv


## csv 파일 읽기

data1 <- read.csv("data.csv")

ls() ## "data1"라는 오브젝트가 뜰 것임

data1

str(data1) ## "data1"의 structure를 나타내줌


## Attach 함수 이용하기

data1$Class

Class ## 에러메시지가 뜨면 정상

attach(data1)

Class ## data1$를 붙일 필요가 없음

Data


## 간단한 통계함수

order(Data) ## Data[?]의 크기 순서

mean(Data) ## 평균

var(Data) ## 분산

sd(Data) ## 표준편차

sum(Data) ## 합

max(Data) ## 최대값

median(Data) ## 중간값

min(Data) ## 최소값

sqrt(Data) ## 제곱근

abs(Data) ## 절대값

sum(Data) ## Data의 합

AND

## 다항함수

f1 <- function(x){x^2+3*x}

f2 <- function(x,y){2*x+3*y}

e1 <- expression(x^3+x^2+x)

f1(1)

f2(1,2)


## class 확인하기

class(f1) ; class(f2) ; class(e1)


## 미분, 적분하기

D(e1,"x")

integrate(f1,1,2)


## 그래프로 표현하기

plot(f1,main="plot1",xlab="xlab1",ylab="ylab1")


## Environment 확인 및 관리하기

ls() 

rm(list=ls(all=TRUE))


## 다항방정식의 해 구하기

polyroot(c(2,3,3,4))

AND