본문으로 바로가기

[GP] R의 다양한 자료구조들

category Programming/R 2018.08.26 14:37

이 글은 N.K Dev Lab에서 작성된 글입니다.

이제 거의 8월 달도 끝나가는군요. 간만에 비오는 주말입니다. 태풍 솔록이 지나가면서부터 드디어 대한민국에 2018년 첫 여름비가 내린 것 같은 느낌이네요. (혹시 정말 첫 여름비일지도 모르겠군요…)


Data Structure in R

프로그래밍을 하게 되면 자연스럽게 만날 수 있는 것은 바로 자료구조입니다. 처음 학부시간에 자료구조를 배웠을 때는 ‘왜 이것을 배워야하지?’라는 의문을 잔득 가졌었습니다. 그 때는 프로그래밍에 대해서 관심이 많지도 않았고 대학에서 가르쳐주는 그저 영어 같았습니다.

본론으로 넘어가서 자료구조는 컴퓨터에서 자료를 보관하기 위한 한 방법입니다. 코딩을 하게 되면 우리는 필요한 데이터를 저장해야 합니다. 하지만 그것은 우리가 생각하는 것처럼 “이거 필요하니까 그냥 메모리에 저장해 줘”라는 단순한 느낌이 아닙니다. 내가 원하는 데이터를 뽑으려면 어떤 규칙이 정해져 있고 그 규칙에 따라 저장되어 있는 데이터를 가져오는 것이 바로 컴퓨터의 자료구조입니다.

실제로 이러한 자료구조들에는 배열(Array), 리스트(List), 스택(Stack), 큐(Queue), 그래프(Graph) 등이 있습니다. 실제로 학부 수업 때 까지는 저 위에 있는 자료구조들을 다룰 것이며 실제 구현도 하게 될 것입니다.

그러나 저 자료구조들을 모두 사용하지는 않을 것입니다. 저의 경우, 보통 C++ 언어에서 자주 사용하는 자료구조라고 하면, Array와 Vector, Pair, Map을 자주 사용합니다. 물론 Pair는 그렇게 크게 쓸 일 없이 구조체로도 충분히 구현 가능한 부분이어서 잘 쓰지도 않구요. Java의 경우 ArrayList, HashMap, Set 을 사용하는 것처럼 수많은 자료구조 중에서 여러분들이 알고리즘을 구현하거나 프로그래밍 하는 데 있어 여러 가지 자료구조를 사용할 것입니다.

R언어에도 이러한 자료구조들이 존재합니다. 어떠한 자료구조들이 있는지 알아보고 각각의 접근 방법과 장단점에 대해 간단히 적어보도록 하겠습니다.


Array

1번재는 가장 기본적인 배열입니다. 배열은 프로그래밍 언어를 처음 배울 때 다루는 자료구조 중 하나입니다. 아주 간단하죠. C, C++, Java 어디서든지 사용할 수 있는 기본적인 자료구조입니다.



이어서 읽으시려면 아래의 버튼을 클릭해주세요.


... 계속 읽기



'Programming > R' 카테고리의 다른 글

[GP] R의 다양한 자료구조들  (0) 2018.08.26
[GP] R 프로그래밍과 데이터-처리  (0) 2018.08.04

comments powered by Disqus

티스토리 툴바