데이터분석 전문가(ADP)를 위한 R프로그래밍 기초편2

1. 논리연산

 

Python이랑 동일함

 

==은 서로 같음

 

!= 은 서로 같지 않음

 

a < b는 a가 b보다 작다

 

a <= b는 a가 b보다 작거나 같다

 

a > b는 a가 b보다 크다

 

a >= b는 a가 b보다 크거나 같다

 

2. 기본 수학 연산자

 

+ , - , * , / 으로 더하기 빼기 곱하기 나누기

 

^ 으로 n제곱 연산

 

> 5^3
[1] 125

> 5+3
[1] 8

> 5-3
[1] 2

> 5*3
[1] 15


> 12/3
[1] 4


> 12//3
Error: unexpected '/' in "12//"

 

3. 특수 논리 연산자

 

! 은 부정연산

 

& 는 and 연산

 

| 은 or 연산

 

> 3 == 5
[1] FALSE
> !(3==5)
[1] TRUE


> TRUE & FALSE
[1] FALSE


> TRUE | FALSE
[1] TRUE

 

 

4. 벡터 인덱싱

 

a[n]으로 n번째 원소 가져옴

 

a[-n]하면 n번째 원소를 빼고 가져옴

 

python은 zero index이지만

 

R은 index가 1부터 시작함

> a <- c(1,2,3,4,5,6,7,8,9,10)

> a[3]
[1] 3

> a[-3]
[1]  1  2  4  5  6  7  8  9 10

 

 

5. 특수 수학 연산

 

%/%는 나눗셈의 몫

 

%%는 나눗셈의 나머지

 

> 10%/%3
[1] 3

> 10%%3
[1] 1

 

%*%는 행렬의 곱

 

> m1=matrix(1:6,2)
> m1
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

> m2=matrix(1:9,3)
> m2
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

> m1%*%m2
     [,1] [,2] [,3]
[1,]   22   49   76
[2,]   28   64  100

> m2%*%m1
Error in m2 %*% m1 : 적합한 인자들이 아닙니다

 

 

6. 변수 추출

 

데이터 프레임에서 $를 이용해서 변수를 추출할 수 있음

 

df$<변수>

 

> data(mtcars)

> head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1


> mtcars$hp
 [1] 110 110  93 110 175 105 245  62  95 123 123 180 180 180 205 215 230  66  52  65  97 150 150 245 175  66  91 113 264 175 335
[32] 109

 

 

7. 회귀분석 식

 

회귀분석같은 통계분석에서 함수식을 넣을 때 ~으로 연결해서 사용함

 

lm(y~x1+x2+x3, data=df) 같은 방식으로

 

 

8. 도움말

 

?나 help를 사용하여 함수의 도움말 확인

 

?lm

help(lm)

 

 

8. 기초통계량 함수

 

mean(x) - 평균

 

sum(x) - 합

 

median(x) - 중앙값

 

log(x, base = ) - 로그, 기본값은 자연로그(base=exp(1))임

 

var(x) - 분산

 

cov(x1,x2) - 공분산

 

sd(x) - 표준편차 vs. 파이썬은 np.std()

 

cor(x1,x2) - 상관계수 vs. 파이썬은 pd.corr()

 

length(x) - 변수의 길이 vs. 파이썬은 len()

 

> x <- c(1,2,3,4,5)
> y <- c(6,7,8,9,10)

> mean(x)
[1] 3

> sum(x)
[1] 15

> median(x)
[1] 3

> log(x)
[1] 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379

> var(x)
[1] 2.5

> sd(x)
[1] 1.581139

> cov(x,y)
[1] 2.5

> cor(x,y)
[1] 1

> length(x)
[1] 5

 

 

9. R프로그래밍에서 할 수 있는 실수들

 

함수 인자의 개수를 정확히 사용

 

리스트 인덱싱과 벡터 인덱싱에서 [[]]을 써야할지 []을 써야할지 신경써야함

 

괄호 열고 닫기 신경써야함

 

사용자 정의 함수에서 매개변수는 ( )으로 expression은 { }으로

 

function(<매개변수>) { expression }

 

1:(n+1)과 1:n+1은 다르다

 

> n <- 5

> 1:n+1
[1] 2 3 4 5 6

> 1:(n+1)
[1] 1 2 3 4 5 6

패키지를 불러올려면 library()나 require()

 

서로 같음은 =이 아니라 ==

 

할당연산자 <-에서 <과 -은 붙여써야 인식함

 

> x < -pi
Error: object 'x' not found

 

여러줄 넘길때는 { }을 사용해서 연결해줘야

 

> sum <- {1+2+3
+   +4+5
+ }
> sum
[1] 9

> sum <- 1+2+3
>   +4+5
[1] 9
> sum
[1] 6

 

파일경로는 \\를 쓰거나 /을 써야함

TAGS.

Comments