Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

이 튜토리얼은 dplyr 패키지 에 대한 논의의 연속입니다 . R에서 행을 정렬, 필터링 및 그룹화하는 방법을 배웁니다.

이전 수업은 열 작업에 관한 것이었습니다. 이번에는 dplyr행 작업 에 초점을 맞춥니다 .

데이터 세트 정렬 및 필터링레코드 집계 및 요약을 포함하는 기본 사항을 다룰 것입니다 . 이 강의에서 예상할 수 있는 내용에 대한 개요를 제공하기 위해 MS Excel의 피벗 테이블을 생각해 보십시오.

목차

시작하기

RStudio에서 새 R 스크립트를 엽니다.

열 작업 강의와 유사하게 이 데모에서는 Lahman 데이터 세트 패키지를 사용합니다 . 빠른 Google 검색을 수행하여 다운로드하십시오.

Lahman 패키지를 R로 가져오려면 library (Lahman) 를 실행하십시오 . dplyr 패키지를 활성화하려면 library (tidyverse) 를 실행하십시오 . 또한 R에서 이름 지정 규칙에 대한 모범 사례는 소문자를 사용하므로 팀을 으로 지정하는 것임을 기억하십시오 .

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

행 연산을 위한 기본 함수

1. R에서 행 정렬

dpyLR의 첫 번째 행 연산은 배열() 입니다 . 이 기능을 사용하면 행을 재정렬할 수 있습니다. 먼저 데이터 프레임 df 를 정렬한 다음 지정된 필드를 정렬하여 작동합니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

예를 들어 teamID 로 정렬해 보겠습니다 . 정렬(teams, teamID) 을 실행합니다 .

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

내림차순으로 정렬하려면 desc( ) 함수를 사용해야 합니다.

예를 들어 연도별로 내림차순으로 정렬하려면 배열 (teams, desc(yearID)) 를 실행합니다 .

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

이렇게 하면 출력을 에 다시 할당하지 않습니다 . 콘솔에 결과가 표시됩니다.

여러 기준으로 정렬하는 것도 가능합니다. 예를 들어 teamID를 기준으로 정렬한 다음 yearID를 내림차순으로 정렬하려면 다음 코드만 실행하면 됩니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

행을 정렬하면 데이터가 변경되지 않습니다. 데이터가 이동되고 있습니다. 아무것도 추가되거나 제거되지 않습니다.

2. R에서 행 필터링

필터 ( ) 기능은 선택한 기준에 따라 데이터를 추가하거나 제거합니다. 기본 코드는 다음과 같습니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

예를 들어 yearID가 2000보다 크거나 같은 모든 데이터를 가져옵니다. 필터 함수의 형식을 따르고 필요한 정보를 입력합니다. 그런 다음 실행하십시오. 이것을 새 개체에 할당하는 것을 잊지 마십시오. 이 경우에는 현대 에 할당되었습니다 .

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

행이 실제로 필터링되었는지 확인하려면 dim( ) 함수를 사용할 수 있습니다. 데이터 프레임의 행과 열 수를 제공합니다.

dim (teams) 을 실행하면 데이터 프레임에 2,955개의 행과 48개의 열이 있음을 알 수 있습니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

modern 에서 dim 함수를 실행하면 행 수가 630개로 줄어들고 열 수는 동일하게 유지되는 것을 볼 수 있습니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

일부 레코드가 2000년 이후에 있기 때문에 행이 잘렸습니다.

여러 필드로 행 필터링

R에서 여러 필드로 행을 필터링하는 것도 가능합니다. ANDOR 문을 사용해야 합니다 .

예를 들어 영역별로 팀을 필터링해 보겠습니다. 이 경우 새 객체 ohio가 생성됩니다. 필터 기준은 teamID가 Cleveland Cincinnati만 포함해야 한다는 것입니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

동일한지 확인하려면 이중 등호 ( == )를 사용해야 합니다 . 하나의 등호만 사용하는 경우 R은 이를 대입 연산자로 간주합니다. 앰퍼샌드( & )를 사용하여 AND를 나타냅니다 .

확인하려면 dim 기능을 사용하십시오. 행 수가 0인 것을 볼 수 있습니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

이것은 클리블랜드와 신시내티에 기반을 둔 팀이 없다는 것을 의미합니다.

다음으로 Cleveland OR Cincinnati를 시도해 보겠습니다 . OR 연산자는 파이프 연산자( | )로 표시됩니다. 따라서 앰퍼샌드를 파이프 연산자로 바꾼 다음 실행하기만 하면 됩니다. 그런 다음 dim 기능을 다시 실행하십시오.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

0이 아니라 251개의 행이 있음을 알 수 있습니다.

이제 이중 등호를 사용하는 것을 잊고 대신 하나만 사용하면 어떻게 될까요? 결과는 다음과 같습니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

RStudio는 콘솔에 이중 등호를 사용하도록 알려주는 매우 유용한 오류 메시지를 표시합니다.

3. R에서 행 그룹화 및 요약

그룹 기준( ) 기능을 사용하면 선택한 열별로 레코드를 집계한 다음 해당 집계를 기반으로 다른 열을 요약할 수 있습니다.

group by( ) 함수는 다음 알고리즘을 따릅니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

예를 들어 teamID 별로 그룹화 하고 새 개체에 할당해 보겠습니다. 이 경우 새 개체는 team_ID 입니다 . 그런 다음 인쇄하십시오.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

콘솔에서 첫 번째 줄이 tibble 이라는 것을 알 수 있습니다 .

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

tibble 기본 데이터 프레임에 대한 깔끔한 개선입니다. 바로 사용할 수 있는 기능을 강화하고 개선하는 패키지의 기능입니다.

두 번째 줄은 Groups 입니다 . 따라서 데이터는 이제 teamID 열로 그룹화됩니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

이제 해당 그룹에 대해 요약( ) 기능을 사용할 수 있습니다.

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

참고: 요약 기능은 s 또는 z와 함께 사용할 수 있으며 영국 또는 미국 영어 사용에 따라 달라집니다.

예를 들어, team_ID를 요약 하고 몇 가지 기본 요약 통계를 가져옵니다. 각 팀의 Wins 평균, 최소 및 최대를 찾아봅시다. Run 을 선택하기 전에 전체 코드를 강조 표시해야 합니다 .

Dplyr를 사용하여 R에서 행 정렬, 필터링 및 그룹화

그러면 콘솔에서 각 팀의 통계 요약이 표시되는 것을 볼 수 있습니다. 이는 데이터를 집계하고 요약하는 피벗 테이블과 매우 유사합니다.


R의 데이터 프레임: R의 기본
요소 수준 학습: 범주 및 순서 변수 사용
dplyr를 사용하여 R에서 열 추가, 제거 및 이름 바꾸기

결론

요약하면 dplyr의 두 가지 작업이 논의되었습니다. 이전 자습서는 열 작업에 중점을 두었습니다. 한편, 이번 강의에서는 RStudio에서 dplyr 패키지를 사용하여 행 작업을 수행하는 방법을 보여주었습니다. 특히 R에서 행을 정렬, 필터링 및 그룹화하는 방법을 배웠습니다.

다음으로 배울 것은 이 두 작업을 결합하는 방법입니다. 지금까지 배운 모든 함수를 사용하면 R에서 코드를 작성하는 데 큰 도움이 됩니다. 그러나 더 유용한 기술은 파이프라인입니다. 이것은 모든 것이 함께 흐르는 데 도움이 될 것입니다. 따라서 다음 자습서도 검토하십시오.


파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것