본문 바로가기

Quant/R

R 기초

-?함수명 이름 입력하면 우측에 설명서 나옴

 

01 R의 데이터 유형

벡터: 한개이상의 데이터 묶음 <-> NULL(데이터가 없다는 뜻)

원자벡터: 모두 같은 종류의 데이터를 가지고 있는 데이터 묶음<-> 리스트(다양한 종류의 데이터를 가지고 있는 데이터 묶음)

원자벡터 안에는 -> 논리형 / 숫자형(정수형/실수형) / 글자형

 

02 단일 종류의 데이터- 원자벡터

 

c: combine values into a Vector or List ; 벡터 생성

str: compacity display the structure of an arbitrary r objects; 벡터의 정보 확인

lenght: 벡터의 길이 출력

typeof(): 어떤 타입의 벡터인지 확인; double: 실수형; integer: 정수형

1L-> 정수 1로 인식

nan: not a number의 약자로 표현이 불가능한 연산에 대한 답으로 사용

na: not available의 약자로 결측된 값, 혹은 사용할 수 없음을 뜻함

 

글자형(charatcter)은 쌍따옴표(") 또는 따옴표(')로 감싸서 표현

 

역슬래시(\)는 그다음에 오는 글자가 어떤 의미를 가진게 아니라, 글자 그 자체임을 의미

 

ch9. 단일 종류의 데이터 다루기

강제로 다른 종류의 데이터로 바꾸기; 강제형 변환이라는 용어를 사용

논리형 -> 숫자형 -> 글자형 방향으로 바꿔준다

 

true=1, false=0

 

c(1, T, F) 하면, 1 1 0 으로 나옴. 논리형 데이터를 숫자형 데이터로 강제로 변환시킨 거임

 

c("글자", 1, -1, T, FALSE) 하면 "글자' "1" "-1" "TRUE" "FALSE" 로 나옴. "T"가 아닌 "TRUE"로 나옴

 

9.2 강제로 데이터의 길이를 맞추기

스칼라란 1개의 데이터를 뜻함

벡터는 스칼라를 포함

데이터가 여러개인 데이터와 하나의 데이터를 연산하면?

 

1:10+1

-> 2 3 4 5 6 7 8 9 10 11

 

데이터의 길이가 다른 데이터들을 연산하면?

 

1:10 + 1:3

2 4 6 5 7 9 8 10 12

 

이를 재활용 규칙이라고 함

 

9.3 벡터내의 데이터에 이름 지정하기

key-value 라고 불리며, 여기서 key 가 이름, value가 데이터를 뜻함

R에서 모든 벡터는 key-value로 데이터의 이름을 지정할 수 있음

key = value의 형식을 따르며 key는 이름이기 때문에 따옴표를 생략할 수 있음

이름은 데이터의 일부를 사용하고 싶을때 유용함

 

9.4 데이터의 일부를 사용하기

subset이라고 부르며 가지고 있는 데이터에서 일부만을 사용할때의 문법을 뜻함

벡터는 벡터[]의 형태로 뒤에 대괄호를 붙이며 대괄호 안에 벡터를 넣어서 일부의 데이터만 사용

 

9.4.1 논리형 벡터로 데이터의 일부 사용하기

데이터의 개수에 맞게 논리형 데이터를 넣어야하며, 부족하게 입력하면 재활용 규칙이, 많이 입력하면 na를 붙여서 결과를 줌

 

subs <- c("첫째", "둘째", "셋째")

subs[c(T,F,T)]

-> "첫째" "셋째"

 

9.4.2 숫자형 벡터로 데이터의 일부 사용하기

특별히 indexing이라고 불리며, 데이터의 위치를 순서대로 1,2,3,...이라고 지정하기 때문에 필요한 위치를 숫자로 지정하여 일부를 선택할 수 있음

 

subs[c(1,1,3)]

-> "첫째" "첫째" "셋째"

 

음수로 작성하면 그 위치의 데이터를 제외한 나머지를 사용함. 순서는 의미 없음

 

subs[c(-1)]

-> "둘째" "셋째"

 

양수, 음수를 동시에 사용할 수 없음

원래 데이터의 범위를 벗어나는 경우에는 na를 출력

 

9.4.3 글자형 벡터로 데이터의 일부 사용하기

글자형 벡터로 데이터의 일부를 사용하기 위해서는 데이터에 이름을 지정해 두어야함

 

subs_name <- c(a="하나", b="둘", c="셋")

subs_name

a       b     c

"하나" "둘" "셋"

 

subs[c("a", "c", "d")]

a c <NA>

"하나" "셋" NA

 

 

10. 리스트 다루기

10.1 리스트 자료형이란

다양한 종류의 데이터를 가지는 데이터 묶음

심지어 리스트 자료형도 데이터로 가질 수 있음

그래서 재귀형(recursive)이라고 하기도 함

 

mul_l <- list(1,2,3)

str(mul_l)

List of 3

$: num 1

$: num 2

$: num 3

 

리스트 역시 벡터 이므로 데이터에 이름을 지정할 수 있음

리스트는 여러 다양한 자료형을 가질 수 있음

 

10.2 리스트 자료형의 데이터 일부 사용하기

벡터와 문법이 같음. 특별히 대괄호와 이중 대괄호의 동작 차이가 중요. 대괄호의 결과는 항상 리스트

 

 

11 속성을 가지는 확장벡터

11.1 데이터에 속성을 추가

속성(attribute)이란 메타데이터로 데이터의 데이터란 의미

 

x <- 1:10

attr(x, "test") # x벡터(데이터)에 test란 데이터가 들어있니?

-> NULL # 없다

 

R에서 많이 사용되는 속성은 names와 class. 많이 사용되기 때문에 각 속성을 확인하는 함수도 존재

 

11.2 확장벡터란

기존의 벡터에 속성을 추가해 사용하는 특별한 데이터의 종류

11.2.1 요인형(factor)

 

11.2.2 매트릭스(matrix)

매트릭스는 2차원 원자형 벡터

원자 벡터이기 때문에 모든 데이터가 같은 자료형

행과 열의 길이를 속성으로 가짐으로써 2차원 데이터로 동작함

 

11.2.3 데이터프레임(data.frame)

데이터프레임은 2차원 테이블 형태의 자료구조로서 리스트의 확장

리스트 같이 주머니별로 데이터의 종류가 다를 수 있음

칼럼별로 다양한 데이터 종류를 가질 수 있다라고 표현

 

리스트와 다른점: 행과 열을 이루는 2차원 데이터이기 때문에 주머니내의 데이터의 개수가 같아야함

 

 

'Quant > R' 카테고리의 다른 글

R 벡터, 데이터프레임  (0) 2020.05.04