[프로그래밍] R에서의 인덱싱 차이: [] vs [[]]
R에서의 인덱싱 차이: []
vs [[]]
R에서 리스트나 데이터프레임을 다룰 때, 데이터를 추출하는 방법에 대해 헷갈릴 수 있습니다. 특히, 리스트에서 인덱싱을 할 때 사용하는 **싱글 대괄호 ([]
)**와 **이중 대괄호 ([[]]
)**의 차이를 잘 이해하는 것이 중요합니다. 두 인덱싱 방식의 차이를 알아보겠습니다.
1. 싱글 대괄호 ([]
)
[]
는 부분 객체를 반환하는데 사용됩니다. 즉, 리스트, 벡터, 데이터프레임에서 슬라이싱할 때 사용되며, 원본 객체의 형태를 유지하면서 부분적인 객체를 반환합니다. 이 방식은 여러 값을 추출하거나, 객체를 추출하여 새로운 객체로 반환할 때 사용됩니다.
예시:
결과:
위 코드에서 my_list[1]
은 리스트의 첫 번째 요소를 반환합니다. 하지만 이 반환된 값은 여전히 리스트 형태로 반환됩니다. 즉, part_list
는 길이가 1인 리스트가 됩니다.
2. 이중 대괄호 ([[]]
)
[[]]
는 리스트에서 단일 값을 직접적으로 추출할 때 사용됩니다. 이 방식은 리스트에서 값을 "벗겨내는" 방식으로, 리스트 안의 값 자체를 반환합니다. 즉, 이중 대괄호를 사용하면 리스트에서 하나의 값을 추출하고, 그 값이 리스트 형태가 아닌 원래의 형태로 반환됩니다.
예시:
결과:
my_list[[1]]
은 **단일 값 1
**을 반환합니다. 이 값은 리스트 형태가 아니며, value
는 단일 값으로 저장됩니다.
차이점 요약
특징 | [] 인덱싱 | [[]] 인덱싱 |
---|---|---|
용도 | 벡터, 리스트, 데이터프레임에서 부분 객체 추출 | 리스트에서 값 직접 추출 |
결과 | 객체의 부분 객체 (리스트 형태로 반환) | 값 자체 반환 (리스트 벗겨냄) |
여러 값 추출 가능 | 가능 (여러 값을 추출하여 부분 객체 반환) | 불가능 (하나의 값만 추출) |
사용 예시
결론
[]
는 객체의 부분을 추출하여 원본 객체의 형태를 유지합니다. 여러 값을 한 번에 추출할 때 유용합니다.[[]]
는 리스트에서 값을 직접 추출할 때 사용되며, 단일 값을 반환합니다.
R에서 데이터를 다룰 때 이 두 인덱싱 방식을 잘 구분하여 사용하면, 원하는 결과를 쉽게 얻을 수 있습니다.
댓글
댓글 쓰기