List : 서로 다른 데이터구조
- Vector, Data Frame, Array, List의 중첩구조
- c(구조체), python(딕셔너리)
- 함수 내에서 여러 값을 하나의 키로 묶어서 반환할 경우 유용함
# key를 이용하여 value에 접근하기 (Java map의 key , value 값과 유사)
자료의 구조가 vector 형태이지만 어떠한 자료의 구조가 와도 문제없이 key-value의 형태로 실행합니다.
Member의 값에 주소 값을 넣어서 member (참조자료형) 사용
java에서는 ( . ) 을 활용하여 변수로 접을 할 수 있었는데, R은 $로 변수에 접근 할 수 있습니다.
R에서는 변수, 함수의 이름으로 ( . )을 사용하고, java에서는 변수, 메서드의 이름에 $를 사용합니다.
list 부분적인 추가 작업은 key-value의 추가는 과정은 적극적으로 활용하지 않습니다.
복잡성에 의해서 적합한 작업이 아닙니다.
# 1개 값을 갖는 리스트 객체 생성
: List의 구조일 때, 반드시 key-value 값으로 저장해야 하는 것은 아닙니다.
#[[1]] ---------> key(생략) [[n]]
#[1] "lee" ---------> value[n]
: Key 가 없으면 대괄호 두개 안에 index를 통해서 출력
# 1개 이상의 값을 갖는 리스트 객체 생성
위의 자료 구조를 vector의 자료 구조로 변경
Key값이 없을 때, vector의 형태로 변경하여 데이터 관리하는 것이 편리합니다.
(단, 같은 자료형 사용)
Lapply : list에서 활용하는 함수로, 입력으로 vector 또는 list 를 받아 list 를 반환합니다.
Sapply : 리스트 형식을 벡터 형식으로 반환하기, 벡터로 반환되는 정수 값은 integer로 반환해줍니다.
# 다차원 리스트 객체 생성
key 값이 없는 List 안에 list
# key 값이 존재하는 list 안에 list
# 다차원 리스트를 열 단위로 바인딩
do.call cbind에 의해서 열단위로 만들어 바인드 해주고, 그때의 자료 구조를 matrix로 반환합니다.
'빅데이터 > R' 카테고리의 다른 글
[R] 문자열 처리 (0) | 2020.06.25 |
---|---|
[R] 주요 자료 구조(객체 타입 Part_5 : data.frame구조) (0) | 2020.06.25 |
[R] 주요 자료 구조(객체 타입 Part_3 : Array구조) (0) | 2020.06.24 |
[R] 주요 자료 구조(객체 타입 Part_2 : Matrix구조) (0) | 2020.06.24 |
[R] 주요 자료 구조(객체 타입 Part_1 : Vector 구조) (0) | 2020.06.23 |