혼공단/혼공단 8기

혼자 공부하는 R데이터분석 3장 - R프로그래밍 익히기

하양훈 2022. 7. 24. 15:11
반응형

03-1 변수와 함수

 

변수 : 변하는 수, 무엇이든 담을수 있는 그릇과 동일.

 

<변수명 규칙>

 

- 첫문자는 반드시 영문자(알파벳)또는 마침표를 사용한다.

- 첫문자에는 숫자, 밑줄문자를 사용할 수 없다.

- 마침표와 밑줄 문자를 제외한 특수문자는 사용할수 없다.

- 대문자와 소문자를 구분한다.

- 변수명 중간에 빈칸을 넣을 수 없다.

 

 

<변수 사용법>

변수명 <- 값

<- : 할당 연산자

 

 

<함수 호출하기>

 

함수 : 특정한 기능을 수행하기 위해 사전에 만들어진 프로그래밍 구문을 묶어놓은 것, 자판기 버튼과 비슷한 역할.

함수명(인자)

 

내장함수 : 별도의 패키지를 설치하지 않고 사용할 수 있는 함수, print, sum이 해당

 

 

[사용자 정의 함수]

 

사용자 정의 함수: 사용자가 임의로 만든 함수.

함수명 <- function(매개변수1,매개변수2, ...){
   함수가 구현한 내용
   ...
   return(결괏값)
}

함수명 : 함수의 이름

매개변수 : 함수의 변수, 함수가 호출될때 전달되는 값, 파라미터라고도 한다.

함수가 구현할 내용 : 사용자가 함수의 기능을 프로그램 언어로 정의한 구문.

결괏값 : 함수의 기능이 수행된 결과로 함수 본문의 마지막 표현식.

 

03-2 패키지

 

패키지 : 여러 함수를 기능에 따라 묶어서 제공하는 것.

 

 

<패키지 설치하기>

 

(1) 함수

- install.packages()

 install.packages("패키지명")

(2) R 스튜디오 Packages 탭

 

설치한 패키지 확인하는 법 : library() 함수 이용

library()

[패키지 로드하기]

library(패키지명)

[패키지 삭제하기]

remove.packages("패키지명")

 

 

03-3 조건문과 반복문

 

제어순서 : 프로그래밍에서 함수가 호출되는 순서

=> 보통 위에서 아래로 실행되지만, 이 제어순서를 변경하기 위해 조건문과 반복문을 사용한다.

 

연산자 : 프로그램에서 데이터를 처리하는 연산기호

연산자의 종류 : 할당연산자, 산술연산자,관계연산자, 논리연산자

 

 

<할당 연산자>

 

- 특정값을 변수에 저장하며 우항에 있는 값이 좌항에 할당되는 것

- 대입연산자라고도 부른다.

할당연산자 기능
<- 변수에 값을 저장
A <- 2
A
B = 10
B

-----------------
[1] 2
[1] 10

- R에서는 '='도 사용할 수 있지만, '<-'가 우선순위가 '='보다 높다.

- 실제 코드를 실행한 결과 G <- E = 10의 경우 10이 아직 변수 E에 할당되지 않아 오류가 생긴 것을 볼 수 있다.

- 또한 '=' 연산자는 함수 인자에 값을 넣을 때도 사용할 수 없다.

- 실행은 되지만 y값을 출력해보면 오류가 나온다.

- 그렇기에 R에서 변수를 생성할때 =를 잘 사용하지 않고 일반적으로 <- 를 주로 사용한다.

 

 

 

<산술연산자>

 

산술연산자 : 숫자를 계산하는 연산자

산술연산자 기능
+ 더하기
- 빼기
* 곱하기
/ 나누기
%/%
%% 나머지
** 또는 ^ 제곱수
> 1 + 2
[1] 3

> 5 - 3
[1] 2

> 3 * 7
[1] 2

> 20 / 4
[1] 5

> 20 %/% 7
[1] 2

> 20 %% 7
[1] 6

> 6 ^ 2
[1] 36

> 6 ** 2
[1] 36

 

 

<관계연산자>

 

- 변수 간의 혹은 변수와 값을 비교하여 과계를 참,거짓의 진릿값으로 알려주는 연산

- 비교연산자라고도 하며 부등호를 사용한다.

관계 연산자 기능
> 크다
>= 크거나 같다
< 작다
<= 작거나 같다
== 같다
!= 같지 않다
! 아니다
> 5 > 3
[1] TRUE

> 5 >= 6
[1] FALSE

> 5 < 3
[1] FALSE

> 5 <= 6
[1] TRUE

> 5 == 5
[1] TRUE

> 5 != 5
[1] FALSE

> !5
[1] FALSE

 

 

<논리 연산자>

 

- 관계 연산자로 얻은 진릿값을 다시 연산할때 사용

논리연산자 기능
& 그리고(and),  양쪽이 모두 충족될때에만 TRUE
| 또는(or), 한쪽의 조건이 충족되는 경우에도 TRUE
x<- 1:3 #x에 1,2,3 할당
y<- 3:1 #y에 3,2,1 할당

(x > 0) & (y > 1)
-----------------------
[1] TRUE TRUE FALSE
-----------------------
(x > 0) | (y > 1)
-----------------------
[1] TRUE TRUE TRUE
-----------------------

- 실제 실행결과를 위한 논리연산은 아래와 같다.

x y x > 0 y > 1 &연산 | 연산
1 3 TRUE TRUE TRUE TRUE
2 2 TRUE TRUE TRUE TRUE
3 1 TRUE FALSE FALSE TRUE

 

 

<if-else 조건문>

 

조건문 : 조건이 TRUE면 실행되는 코드 구문, 대표적으로 if-else가 있다.

 

[if-else 조건문 형식]

if(조건){
  조건이 TRUE일 때 실행되는 구문 1
}else{
  조건이 FALSE일 때 실행되는 구문 2
}
a <- 10
if(a %% 2 == 0){
  print("짝수입니다")
}else{
  print("홀수입니다")
}
---------------------------
[1] "짝수입니다"

 

조건문에 2개 이상의 조건을 넣어야할떄는 if-else문 중간에 else if문을 추가할 수 있다.

if(조건 1){
  조건1이 TRUE일 때 실행되는 구문 1
}else if(조건 2){
  조건1이 FALSE이고 조건2가 TRUE일 때 실행되는 구문 2
}else{
  조건1, 조건2가 모두 FALSE일 때 실행되는 구문 3
}
b <- 80
if(b >= 90){
  print("A 학점입니다")  # 90점 이상이면 A
}else if(b >= 80){
  print("B 학점입니다")  # 80점 이상이면 B
}else{
  print("C 학점입니다")  # 그 외 점수는 C
}

 

<반복문>

 

반복문 : 정해진 조건만큼 반복 실행하는 구문

- for(), while() 함수가 대표적이지만 R에서는 데이터를 정리할때 빠르게 연산해주는 apply() 함수가 주로 쓰인다.

 

[for 함수]

for(변수 in 반복횟수){
   반복 조건만큼 실행되는 구문
}
for(i in 2:9){
   a <- 2*i
   print(a)
}
----------------------------
[1] 2
[1] 4
[1] 6
[1] 8
[1] 10
[1] 12
[1] 14
[1] 16
[1] 18

- 반복문도 조건문처럼 다중으로 사용이 가능하다

 

[apply() 함수]

- 벡터, 행렬, 리스트를 많이 다루는 R에서는 행과 열단위를 연산할 수 있는 apply()함수를 주로 사용한다.

- lapply(), sapply() 함수가 있으며 데이터 형태에 따라 구별해 사용한다.

apply(x, margin, 함수)

- apply() 함수는 행렬 연산에 사용한다.

- margin이 1이면 행, 2이면 열에 함수가 적용된다.

lapply(x, 함수)

- lapply() 함수는 연산 결과를 리스트로 반환하는 함수이다.

sapply(x, 함수)

- sapply() 함수는 연산 결과를 벡터로 반환하는 함수이다.

반응형