본문 바로가기

R

[R] 배열, 데이터프레임, 리스트

728x90

 

 

 

 

 

 

《배열(array)》

        행, 열, 면(장)의 3차원 형태

        행렬이 여러면으로 쌓인 구조

        같은 자료형의 데이터만 저장할 수 있다

 

 

《배열 생성》

        array(데이터, dim = c(행의 수, 열의 수, 면의 수))

 

        

《배열의 요소 가져오기》

        배열명[행의 인덱스번호, 열의 인덱스번호, 면의 인덱스번호]

 

        인덱스번호를 생략하면 모든 요소를 가져온다

        배열명[행의 인덱스번호, , ] : 해당 행의 모든 열과 모든 면의 데이터

        배열명[, 열의 인덱스번호, ] : 해당 열의 모든 행과 모든 면의 데이터

        배열명[, , 면의 인덱스번호] : 해당 면의 모든 행과 모든 열의 데이터

 

 

《배열의 정보》

        1. str() : 배열의 정보

        2. length() : 배열의 데이터 개수

        3. dim() : 배열의 행, 열, 면의 수

        4. dimnames() : 배열의 행, 열, 면의 이름

 

 

《배열의 이름》

        행, 열, 면의 이름이 담긴 벡터를 리스트에 담아 저장한다

        dimnames(배열명) : 배열의 행, 열, 면의 이름

        dimnames(배열명) <- list(행 이름 벡터, 열 이름 벡터, 면 이름 벡터)

        : 배열의 행, 열, 면의 이름이 저장된다

 

 

《배열의 사용》

        1. 추가 : array(c(기존 배열, 새로운 요소))

        2. 수정 : 배열명[행 인덱스번호, 열 인덱스번호, 면 인덱스번호] <- 새로운 요소

        3. 삭제 : 배열명 <- 삭제할 요소를 제외하고 가져온 배열

 

 

《데이터프레임(dataframe)》

         서로 다른 자료형의 데이터를 저장할 수 있는 행렬

        * 각 열마다 다른 데이터의 자료형을 저장할 수 있다

 

        실질적으로 사용하는 엑셀, 데이터베이스 테이블의 형태이며 R에서 가장 많이 사용하는 구조

        리스트와 벡터의 혼합형으로 열은 리스트, 열의 데이터는 벡터 자료구조이다

 

 

《데이터프레임 생성》

        data.frame(컬럼(열)명 = 컬럼값, 컬럼명 = 컬럼값...)

                          -> 벡터 하나하나가 하나의 열(컬럼)이 된다

        data.frame(행렬)

                          -> 행렬 전체가 하나의 데이터프레임이 된다

 

 

《데이터프레임에서 요소 가져오기》

        1. 데이터프레임명[행 인덱스번호, 열 인덱스번호]

        2. 데이터프레임명["행의 이름", "열의 이름"]

        3. 데이터프레임명$열의 이름 : 해당 열 이름의 열을 가져온다

 

 

《데이터프레임의 정보》

        1. str()

        2. length()

        3. dimnames()

        4. rownames()

        5. colnames()

        6. summary()

 

 

《데이터프레임의 사용》

        1. 추가

                 데이터프레임명$새로운 열 이름 <- 새로운 데이터

                 데이터프레임명[새로운 행 인덱스번호, ] <- 새로운 데이터

                 데이터프레임명[, 새로운 열 인덱스번호] <- 새로운 데이터

 

        2. 수정

                 데이터프레임명[행 인덱스번호, 열 인덱스번호] <- 새로운 값

 

        3. 삭제

                 데이터프레임명 <- 삭제할 요소를 제외한 데이터프레임

 

 

《리스트(list)》

        벡터, 행렬, 배열, 데이터프레임 등 여러개의 자료구조를 저장하는 구조

        여러개의 자료구조를 저장하는 하나의 목록

        -> 파이썬의 dictionary 자료구조와 유사하다

 

        key-value 한쌍으로 데이터가 저장된다

728x90