programming language/Python과 R 함께 익히기

Python에서의 리스트, 튜플, 딕셔너리에 해당하는 R의 문법

눈곱만큼도모름 2024. 8. 31. 03:32
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
반응형