728x90
반응형
Python에서의 리스트, 튜플, 딕셔너리에 해당하는 R의 문법을 비교해 보겠습니다.
1. 리스트 (Python) vs 벡터/리스트 (R)
- Python 리스트: 여러 데이터 타입의 요소들을 포함할 수 있는 가변 길이의 시퀀스입니다.
py_list = [1, 2, 3, "four", 5.0]
- R 벡터: 동일한 데이터 타입의 요소들을 포함할 수 있는 시퀀스입니다. 벡터는 리스트와 비슷하지만, 한 가지 타입만 허용합니다.
r_vector = c(1, 2, 3, 4, 5) # 숫자형 벡터
- R 리스트: 여러 데이터 타입의 요소들을 포함할 수 있는 시퀀스입니다.
r_list = list(1, 2, 3, "four", 5.0)
2. 튜플 (Python) vs R에서의 대안
- Python 튜플: 불변의 시퀀스로, 요소를 수정할 수 없습니다.
py_tuple = (1, 2, 3, "four", 5.0)
- R: R에는 튜플과 같은 불변 시퀀스 타입이 없습니다. 비슷한 역할을 하려면,
c()
함수로 벡터를 생성한 후, 수정하지 않도록 관리합니다. 다만, 이는 실제 불변성(immmutability)을 보장하지 않습니다. r_tuple_like = c(1, 2, 3, "four", 5.0)
3. 딕셔너리 (Python) vs 리스트/데이터프레임 (R)
- Python 딕셔너리: 키-값 쌍을 저장하는 해시 맵 구조입니다.
py_dict = {"one": 1, "two": 2, "three": 3}
- R 리스트: R의 리스트는 키-값 쌍을 가질 수 있습니다. Python의 딕셔너리와 유사하게 사용할 수 있습니다.
r_list_with_names = list(one = 1, two = 2, three = 3)
- R 데이터프레임: 키-값 쌍 구조는 아니지만, 여러 열을 가지며, 열 이름을 키처럼 사용할 수 있습니다.
r_dataframe = data.frame(one = c(1), two = c(2), three = c(3))
요약:
- Python 리스트 → R 벡터(동일 타입) 또는 리스트(다양한 타입)
- Python 튜플 → R에서는 정확히 대응되는 구조는 없지만, 벡터를 사용하여 비슷한 효과를 얻을 수 있음.
- Python 딕셔너리 → R 리스트(이름이 있는 요소) 또는 데이터프레임(열 이름과 데이터 값)
728x90
반응형
'programming language > Python과 R 함께 익히기' 카테고리의 다른 글
R의 file.choose()와 Python의 filedialog: GUI파일 선택과 경로복사 (2) | 2024.09.14 |
---|---|
R은 열 중심의 데이터 구조, python은 행 중심의 접근 방식 (0) | 2024.08.31 |
Python과 R함께 익히기 - 변수 설정 (0) | 2024.06.17 |