• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

tidyr 관련 질문입니다.

19.09.24 17:34 작성 조회수 119

5

tidyr에서 사용되는 저 기능들 설명을 좀 자세히 해주셨으면 좋겠습니다.

gather라는 거시 어떻게 되는건지와 같은거요.

member라는 df를 가지고 어떻게 저렇게 나뉘어지는지에 대한 설명이 하나도 없어서 이해하는게 좀 힘듭니다.

spread도 마찬가지로, 원래대로 돌려줍시다 하고 쓰시는데.

spread(df, variable, variable) 하면 왜 다시 원래의 값으로 나오는지에 대한 설명이 있으면 더욱 이해하기 쉽고 나중에 응용하기도 좋을거 같습니다.

답변 1

답변을 작성해보세요.

5

PARK JUNYEONG님의 프로필

PARK JUNYEONG

2021.01.10

많은 분들을 위해 늦었지만,

제가 추가로 내용을 보충하겠습니다 :)

  1. https://blog.naver.com/juhy9212/220843749610
  2. https://github.com/rstudio/cheatsheets/blob/master/data-import.pdf
  3. https://www.rdocumentation.org/packages/tidyr/versions/0.8.3

1. tidyr에 대해 정리한 블로그입니다. gather(), separate(), spread() 함수에 대한 기능을 잘 설명을 하였습니다.

2. tidyr의 cheatsheet입니다. cheatsheet에 대해 잠깐 설명 드리면 실제로 자주사용하는 명령이나 기능들을 한눈에 볼수있게 잘 정리한 한장의 문서입니다. 영어로 되어있지만, gather의 원리와 separate(), spread()을 어떻게 사용하는지 작성되어있고 글만있는게 아니라 그림도 같이 있어 이해하기가 편합니다 :)

3. R Documentation 입니다.  이곳에 들어가서 모르는 함수에 대해 입력하면 알려주는 사이트입니다. 다만, 이 사이트 역시 영어로 되어있어 초반에는 힘듭니다. 지금 링크는 tidyr에 대해 링크를 걸었습니다.

위 블로그의 내용을 바탕으로 설명을 드리면

1. gather()함수

  • 일반 데이터나 변수는 열방향으로 되어있습니다. 데이터와 변수가 적은 경우는 괜찮지만, 많아질경우 보기가 힘듭니다. 그래서 gather()함수를 사용하여 열방향을 행방향으로 변경해줍니다.
  • 즉, gather()함수는 열방향의 데이터를 행방향으로 변경해주는 함수

2. separate()

  • separate의 사전적 의미는 v. 분리되다, 분리하다, 나누다 이렇게 되어있죠? 사전적 의미처럼 separate() 함수 마찬가지로 어떤 변수의 값을 분리시켜주는 함수입니다.
  • 즉,  separate()함수는 어떤 데이터(데이터프레임)을 분리시켜주는 함수

간략하게 separate()함수 사용법을 적어보면

(3번 링크 참조)

separate(data, col,  into, sep, ...)

data : data frame(DF)를 의미

col : 열의 이름

into : 새 문자형 변수의 이름 생성 (생략할 수 있음)

sep : 열 사이의 구분

3. spread()함수

  • 1번에서 말한 gather()함수의 정반대입니다!
  • 즉, spread()함수는  행방향의 데이터를 열방향으로 변경해주는 함수
  • gather() <---> spread() 이렇게 생각하시면 편합니다~

R 프로그래밍 언어는 다른 프로그래밍 언어(Python, Java, C, C++ 등)에 비해 한글로 정리된 정보가 생각보다 없습니다. 한글 대신 영문으로 찾으면 R 프로그래밍 언어에 대한 정보가 많이 나오니 구글링(구글 검색을 의미)을 많이 하시면 됩니다 :)

도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)