데이터분석/R

R언어 공부 - 3

환성 2022. 12. 27. 16:20
728x90

1) 벡터

  • 벡터는 동질적이다(전부 동일한 자료형이어야 함)
  • 벡터는 위치로 인덱스된다
  • 벡터는 여러 개의 위치로 인덱스될 수도 있으며, 이때 하위 벡터를 반환한다
    • v[c(2,3)] 은 v의 2, 3번쨰 원소로 이루어진 하위 벡터
  • 벡터 원소들은 이름을 가질 수 있다.

2) 리스트

  • 리스트는 이질적이다(여러 자료형의 원소들이 포함될 수 있다)
  • 리스트는 위치로 인덱스된다
  • 리스트에서 하위 리스트를 추출할 수 있다
    • lst[c(2,3)] 은 lst의 2, 3번쨰 원소로 이루어진 하위 리스트
  • 리스트의 원소들은 이름을 가질 수 있다.

3) 모드 : 물리적 자료형

메모리에 어떻게 저장되는지를 가리키는 것

숫자로 저장될 것인가, 문자열, 다른 객체로 저장될 것인가를 나타내는게 모드

객체 모드
숫자 3.1415 수치형
숫자 벡터 c(2.7182, 3.1415) 수치형
문자열 "Moe" 문자형
문자열 벡터 c("Moe", "Larry", "Curly") 문자형
요인 factor(c("NY", "CA", "IL)) 수치형
리스트 list("Moe", "Larry", "Curly") 리스트
데이터 프레임 data.frame(x = 1:3, y = c("NY", "CA", "IL")) 리스트
함수 print 함수

4) 클래스 : 추상적 자료형 

거리, 시간의 특정 시점 또는 무게 등 어떤 숫자 하나로 표현할 수 있는 대상

 

5) 행렬

차원을 가진 벡터, 벡터에 차원을 정해 주면 행렬로 바꿀 수 있다 

# dim 속성(차원을 의미)
> A <- 1:9
> dim(A)
NULL

# 벡터에 차원을 부여하여 행렬이 된 모습
> dim(A) <- c(3,3)
> print(A)
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9


# 리스트를 이용하여 행렬 만들기
> B <- list(1,2,3,4,5,6)
> dim(B) <- c(2,3)
> B
     [,1] [,2] [,3]
[1,] 1    3    5   
[2,] 2    4    6

# 리스트의 이질적 성질을 이용하여 문자열과 숫자가 들어간 행렬 생성
> C <- list(1,2,3, "A", "B","C")
> dim(C) <- c(2,3)
> C
     [,1] [,2] [,3]
[1,] 1    3    "B" 
[2,] 2    "A"  "C"

 

6) 요인

간단하고 효율적 형태로 저장되는 열거형 값들로 이루어진 벡터

범주형 변수, 집단분류가 여기에 해당된다

하나의 요인은 범주형 변수 한 종류를 나타낼 수 있고 범주형 변수들은 분할표, 선형회귀, 분산분석(ANOVA), 로지스틱 회귀 분석 등 많은 분야에 사용된다.

집단 분류는 집단에 따른 라벨을 붙이거나 태깅을 할 때 주로 쓰인다.

 

7) 데이터 프레임

  • 데이터 프레임이라는 리스트의 원소는 벡터와 요인이다.
  • 그 벡터와 요인들은 데이터 프레임의 열에 해당한다
  • 그 벡터와 요인들은 동일한 길이여야 한다(모든 열은 동일한 높이)
  • 동일한 높이의 열들은 데이터 프레임을 사각형으로 만듬
  • 리스트 연산자를 사용해 데이터 프레임에서 열을 추출할 수 있다
    • df[i], df[[i]], df$name
  • 행렬과 비슷한 표기법을 써도 된다.
    • df[i, j], df[i,], df[,j]

 

8) 티블

데이터 프레임의 현대적 형태, 기본 옵션으로 행 번호를 반환하지 않는다

데이터를 요인으로 강제 변환하지 않고 길이 1짜리 벡터는 재활용하지만, 그 외 다른 길이는 재활용 하지 않는다.

'데이터분석 > R' 카테고리의 다른 글

R언어 공부 - 6  (0) 2022.12.30
R언어 공부 - 5  (3) 2022.12.29
R언어 공부 - 4  (0) 2022.12.27
R언어 공부 - 2  (0) 2022.12.26
R언어 공부 - 1  (0) 2022.12.26