BeFRee

Day 1. R 그냥 따라 해보기 본문

R

Day 1. R 그냥 따라 해보기

씨티 2018. 4. 22. 04:21

### 

#

#   DAY 1. Get to Know "R"

#   

#   First.Version : 2018/04/20

#   Last. Version : 2018/04/22

#

#   R 스크립트 파일 다운로드 : BeFRee.R.Day.1.R

#

###



# 0. 그냥 한번 해봅시다.


# 계산기처럼 단순 수식을 셈할 수 있습니다.

1 + 2



# 변수를 사용하면 매번 수식을 반복해서 쓸 필요가 없습니다.

# 엑셀에서 셀에 숫자를 써넣는 것과 같습니다. L13 에 1 입력, L14에 2입력 

a <- 1
b <- 2



# 변수로 수식을 만들어 셈할 수 있습니다. 

# 엑셀에서 셀의 위치 값으로 수식을 만들어 셈하는 것과 같습니다.


# 셀의 이름 값과 같다고 봐야 하겠으나. 

# 셀에 이름 넣는 방법을 모르는 경우도 많으니 일단 위치 값이라 생각하는 것으로...

a+b



# 결과를 다른 변수에 넣고, 그 값을 표시하기도 합니다.

c <- a + b
c



# 변수는 매번 같은 수식을 반복적으로 쓰지 않아도 되고

# 변수 이름을 잘 사용하면 어떤 이유로 수식을 사용하고 있는지 표기할 수도 있습니다.

# average_sales = total_sales / total_customer 

a+b+c    # [1] 6

(a+b+c) / c # [1] 2

a * b / c    # [1] 0.6666667



# 수식 실행 후 나오는 결과에 있는 [1]은 첫번째 값 이라는 뜻입니다.

# 행의 첫번째 데이터가 몇번째 순서인지 보여주는 것이라 생각하시면 됩니다.

# 자세한 설명은 Day 1.에서 설명하는 것으로....

x <- 2
x        # [1] 2

x + 1    # [1] 3

y <- 10
y        # [1] 10

x + y    # [1] 12

y / x    # [1] 5



# 변수에는 숫자 하나만 넣는 것이 아니라 연속된 숫자들도 넣을 수 있습니다.

# 데이터 형식에 대한 설명도 다음에 하겠습니다. (오늘은 그냥 해보기만 합니다.)

temp <- 1
temp    # [1] 1

temp <- c(1, 2, 3, 4)
temp    # [1] 1 2 3 4 


# 변수에 텍스트를 넣을 수도 있습니다.

# 이것도 데이터 형식에 따라 다른 결과가 나오는 것이지만 그냥 따라서 해보기만 합니다.

temp <- "Hello World"
temp     # [1] "Hello World"

temp <- c("Hello", "World")
temp    # [1] "Hello" "World"



# 1~ 20,000에서 1000개의 숫자를 무작위로 뽑아서 그 숫자들의 최소값, 평균값, 최대값 등을 알아봅니다.

x1 <- sample (1:20000, 1000, replace = F)

View(x1)  # x1 열어 보기
min(x1)   # 최소값
max(x1)   # 최대값
mean(x1)  # 평균값
median(x1)  # 중앙값
sd(x1)    #표준편차



# 그래프도 한번 그려 봅니다. 그냥 한번 무작정.

# 일단은 이렇게도 할 수 있구나 라고 확인만 해 보는 는 것만 보는 것으로...


# iris 꽃에 대한 데이터셋을 불러 오고..

data(iris) # data (데이터셋 이름)



# 꽃받침 길이에 대한 산점도를 그려도보고

plot(iris$Sepal.Length)        # plot (x축 데이터)

# 꽃받침 길이와 너비에 대한 산점도를 그려봅니다.

plot(iris$Sepal.Length, iris$Sepal.Width) # plot (y축 데이터, x축 데이터)



# 이렇게 작성할 수도 있습니다.

plot(iris$Sepal.Width ~ iris$Sepal.Length)    # plot (x축 데이터 ~ y축 데이터)


# 구분되지 않으니 색으로 구별해보는 방법도...


install.packages("RColorBrewer") # 일단 필요한 패키지를 설치합니다. library(RColorBrewer) # 로딩하구요. plot(Sepal.Width ~ Sepal.Length, data=iris, col=brewer.pal(3, "Set2")[iris$Species]) legend(x=6.5, y=4.5, legend=levels(iris$Species), col=brewer.pal(3, "Set2"), pch=1) plot(Petal.Width ~ Petal.Length, col=c("black", "red", "blue")[Species], pch=(15:17)[Species], data=iris) legend("topleft", legend=levels(iris$Species), col=c("black", "red", "blue"), pch=15:17)



# 히스토그램은 hist()라는 함수를 사용합니다.

x <- hist(iris$Sepal.Length)
segments(x0=x$mids-0.25, x1=x$mids+0.25, y0=x$counts, y1=x$counts, lw=4, col="red")



#박스플롯 그래프는 boxplot() 함수를 사용합니다.

boxplot(Sepal.Width ~ Species, data=iris)



# 산점도 행렬을 그려보면 항목별 상관관계를 간략히 알아볼 수도 있습니다.

# 표는 복잡해 보일 수 있습니다.

pairs(iris)


#EOF




Comments