데이터 사이언스 100번의 노크(구조화 데이터 처리편) – R Part 1 (Q1 to Q20)

데이터 사이언스
설명:

head(df_receipt, n = 10)이라는 코드는 df_receipt라는 데이터 프레임의 처음 10개의 행을 표시하는 데 사용된다.

R에서 데이터 프레임은 각 열이 숫자, 문자, 인자 등 서로 다른 데이터 타입을 가질 수 있는 표와 같은 구조입니다. 구조화된 형태로 데이터를 저장하고 조작하기 위해 자주 사용된다.

R의 head() 함수는 데이터 프레임의 첫 몇 줄을 표시하는 데 사용된다. 기본적으로 데이터 프레임의 처음 6행이 표시됩니다. 그러나 n 인수로 표시할 행 수를 지정할 수 있다. 이 경우 n = 10은 df_receipt 데이터 프레임의 처음 10 줄을 표시하는 데 사용됩니다.

따라서 이 코드가 실행되면 출력에 df_receipt 데이터 프레임의 처음 10행이 표시됩니다.
 
설명:

head(df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")], n = 10)이라는 코드는 df_receipt라는 데이터 프레임의 처음 10개의 행을 표시하는 데 사용되지만, "sales_ymd", "customer_id", "product_cd", "amount" 열만 표시합니다. ymd", "customer_id", "product_cd", "amount" 열만 표시한다.

R에서 데이터 프레임은 각 열이 숫자, 문자, 인자 등 서로 다른 데이터 타입을 가질 수 있는 테이블과 같은 구조다. 구조화된 형태로 데이터를 저장하고 조작하기 위해 자주 사용된다.

R의 head() 함수는 데이터 프레임의 첫 몇 줄을 표시하는 데 사용됩니다. 기본적으로 데이터 프레임의 처음 6행이 표시됩니다. 하지만 n 인수를 사용하여 표시할 행 수를 지정할 수 있습니다.

이 경우 df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]는 df_receipt 데이터 프레임을 하위 집합으로 만들어 "sales_ymd", "customer_id", "product _cd", "amount" 열만 선택하는 데 사용되며, c() 함수는 열 이름을 벡터로 연결하기 위해 사용된다.

따라서 이 코드를 실행하면 df_receipt 데이터 프레임의 처음 10행이 출력되지만 "sales_ymd", "customer_id", "product_cd", "amount" 열만 표시된다. 이는 큰 데이터 프레임을 다룰 때 열의 하위 집합에만 집중해야 할 때 유용하다.

 

설명:

head(rename(df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")], sales_date = sales_ymd), n = 10)이라는 코드는 df_receipt라는 데이터 프레임 의 처음 10개의 행을 표시하기 위해 사용하는데, "sales_ymd", "customer_id", "product_cd", "amount" 열만 보여주고 "sales_ymd" 열을 "sales_date"로 이름을 바꾸고 있다.

R에서 데이터 프레임은 각 열이 숫자, 문자, 인자 등 서로 다른 데이터 타입을 가질 수 있는 테이블과 같은 구조다. 구조화된 형태로 데이터를 저장하고 조작하기 위해 자주 사용된다.

R의 head() 함수는 데이터 프레임의 처음 몇 줄을 표시하는 데 사용된다. 기본적으로 데이터 프레임의 처음 6행이 표시됩니다. 하지만 인수 n으로 표시할 행 수를 지정할 수 있습니다.

R의 rename() 함수는 데이터 프레임의 열 이름을 변경하는 데 사용됩니다. 이 경우 "sales_ymd"라는 열의 이름을 "sales_date"로 바꾸는 데 사용됩니다.

이 코드에서는 df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]를 사용하여 df_receipt 데이터 프레임을 서브셋하여 "sales_ymd", "customer_id", " product_cd", "amount" 열만 선택한다. c() 함수는 열 이름을 벡터로 연결하기 위해 사용된다.

다음으로 rename(data_frame, new_column_name = old_column_name)이라는 구문으로, 하위 집합된 데이터 프레임에 rename() 함수가 적용된다. 그 결과 df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]와 동일한 행과 열을 가진 데이터 프레임이 되지만, "sales_ymd" 열은 "sales_date"로 이름이 변경되었습니다.

마지막으로 이름을 바꾼 데이터 프레임에 head() 함수를 적용하여 처음 10개의 행을 표시합니다.

따라서 이 코드를 실행하면 출력에 df_receipt 데이터 프레임의 처음 10행이 표시되지만 "sales_date", "customer_id", "product_cd", "amount" 열만 표시되고 "sales_ymd" 열은 "sales _date"로 변경됩니다.

 

설명:

df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")] %>% filter(customer_id == "CS018205000001")라는 코드를 사용하여 df_receipt 데이터 프레임의 의 하위 집합으로 "sales_ymd" 열만 선택합니다." "customer_id", "product_cd", "amount"의 세 개의 컬럼을 가진 데이터 프레임을 만들고 "customer_id" 컬럼이 "CS018205000001"과 같은 행만 포함하도록 필터링합니다.

R에서 데이터 프레임은 테이블과 같은 구조로, 각 컬럼은 숫자, 문자, 인자 등 다양한 데이터 타입을 가질 수 있다. 구조화된 형태로 데이터를 저장하고 조작하기 위해 자주 사용된다.

R의 %>% 연산자를 파이프 연산자라고 하는데, 여러 함수를 연쇄적으로 연결하여 하나의 수식으로 만드는 데 사용된다. 이 예제에서는 df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]의 출력을 filter() 함수에 전달하기 위해 사용된다.

R의 filter() 함수는 데이터 프레임에서 특정 조건을 만족하는 행을 선택하기 위해 사용된다. 이 경우 "customer_id" 컬럼이 "CS018205000001"과 같은 행만 포함하도록 데이터 프레임을 필터링하는 데 사용됩니다.

따라서 이 코드를 실행하면 "sales_ymd", "customer_id", "product_cd", "amount" 컬럼만 포함하고 "customer_id" 컬럼이 "CS018205000001"과 동일한 행만 포함하는 데이터 프레임을 출력합니다. 로 출력한다. 이는 큰 데이터 프레임을 분석할 때 특정 조건을 충족하는 행의 하위 집합에만 집중해야 할 때 유용하다.
 
설명:

df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")] %>% filter(customer_id == "CS018205000001" & amount >= 1000) 라는 코드를 사용하여 df_receipt receipt 데이터 프레임을 부분 집합화하여 "sales_ymd" 열만 선택합니다." customer_id", "product_cd", "amount" 세 개의 데이터 프레임을 만들고 "customer_id" 열이 "CS018205000001", "amount" 열이 1000개 이상의 행만 포함하도록 필터링한다.

R에서 데이터 프레임은 테이블과 같은 구조로, 각 열은 숫자, 문자, 인자 등 다양한 데이터 타입을 가질 수 있다. 구조화된 형태로 데이터를 저장하고 조작하는 데 자주 사용된다.

R의 %>% 연산자를 파이프 연산자라고 하는데, 여러 함수를 연쇄적으로 연결하여 하나의 수식으로 만드는 데 사용된다. 이 예제에서는 df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]의 출력을 filter() 함수에 전달하기 위해 사용하고 있다.

R의 filter() 함수는 데이터 프레임에서 특정 조건을 만족하는 행을 선택하기 위해 사용된다. 이 경우 "customer_id" 열이 "CS018205000001"과 같고 "amount" 열이 1000개 이상의 행만 포함하도록 데이터 프레임을 필터링하는 데 사용되며, 두 조건을 결합하기 위해 & 연산자가 사용됩니다.

따라서 이 코드를 실행하면 "sales_ymd", "customer_id", "product_cd", "amount" 열만 포함된 데이터 프레임이 출력되며, "customer_id" 열이 "CS018205000001"과 같고 "CS018205000001", "amount" 열이 1000개 이상의 행을 포함하는 데이터 프레임이 출력된다. amount" 컬럼이 1000개 이상인 행만 포함된다. 이는 큰 데이터 프레임을 분석할 때 특정 조건을 충족하는 행의 하위 집합에만 집중해야 할 때 유용하다.
 
설명:

df_receipt[c("sales_ymd", "customer_id", "product_cd", "quantity", "amount")] %>% filter(customer_id == "CS018205000001" & (amount >= 1000 | quantity >= 5))라는 코드를 사용하여 df_receipt 데이터 프레임을 부분 집합화하여 "sales_ymd", "customer_id", "product_cd" 열만 선택한다." "quantity", "amount", "customer_id" 열이 "CS018205000001"과 같고 "amount" 열이 1000 이상이거나 "quantity" 열이 5 이상인 행만 포함하도록 필터링합니다.

R에서 데이터 프레임은 각 열이 숫자, 문자, 인자 등 서로 다른 데이터 타입을 가질 수 있는 표와 같은 구조이다. 구조화된 형식으로 데이터를 저장하고 조작하기 위해 자주 사용된다.

R의 %>% 연산자를 파이프 연산자라고 하는데, 여러 함수를 연쇄적으로 연결하여 하나의 수식으로 만드는 데 사용된다. 이 예제에서는 df_receipt[c("sales_ymd", "customer_id", "product_cd", "quantity", "amount")]의 출력을 filter() 함수에 전달하기 위해 사용된다.

R의 filter() 함수는 데이터 프레임에서 특정 조건을 만족하는 행을 선택하기 위해 사용된다. 이 경우 "customer_id" 컬럼이 "CS018205000001"과 같고 "amount" 컬럼이 1000 이상 또는 "quantity" 컬럼이 5 이상인 행만 포함하도록 데이터 프레임을 필터링하는 데 사용된다. 에는 & 연산자가, OR 조건을 지정하기 위해서는 | 연산자가 사용된다.

따라서 이 코드를 실행하면 'sales_ymd', 'customer_id', 'product_cd', 'quantity', 'amount' 열만 포함된 데이터 프레임이 출력되며, 'customer_id' 열이 'CS018205000001'과 같고 'cs018205000001', 'product_cd', 'quantity', 'amount' 열이 umount' 열이 1000개 이상 또는 'quantity' 열이 5개 이상인 행만 포함된다. 이는 큰 데이터 프레임을 분석할 때 특정 조건을 충족하는 행의 하위 집합에만 집중해야 할 때 유용하다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_receipt라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용입니다.

df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]: df_receipt 데이터 프레임을 "sales_ymd", "customer_id", "product_cd", " amount" 컬럼만 포함하도록 서브셋을 설정한다.

%>%: dplyr의 파이프 연산자로, 여러 데이터 조작 함수를 연결할 수 있다.

filter(customer_id == "CS018205000001" & between(amount, 1000, 2000)): 고객 ID가 "CS018205000001"이고 금액이 1000에서 2000 사이의 행만 포함하도록 데이터 프레임을 필터링합니다. 필터링하고 있습니다.

즉, 이 코드는 df_receipt 데이터 프레임을 서브셋하여 "sales_ymd", "customer_id", "product_cd", "amount" 열만 포함하도록 하고, 얻어진 데이터 프레임을 고객 ID가 "CS018205000001"이고 금액이 1000에서 2000까지의 행만 포함하도록 필터링한 것이다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_receipt라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용입니다.

df_receipt[c("sales_ymd", "customer_id", "product_cd", "amount")]: df_receipt 데이터 프레임을 "sales_ymd", "customer_id", "product_cd", " amount" 컬럼만 포함하도록 서브셋을 설정한다.

%>%: dplyr의 파이프 연산자로, 여러 데이터 조작 함수를 연결할 수 있다.

filter(customer_id == "CS018205000001" & product_cd ! = "P071401019"): 고객 ID가 "CS018205000001"이고 상품 코드가 "P0714019"와 같지 않은 행만 포함하도록 데이터 프레임을 필터링하고 있다.

즉, 이 코드는 df_receipt 데이터 프레임을 하위 집합화하여 "sales_ymd", "customer_id", "product_cd", "amount" 열만 포함하도록 필터링하여 얻은 데이터 프레임을 고객 ID가 "CS0182050001"이고 상품 코드가 "P0714019"인 상품 코드가 "P0714019"와 같지 않은 행만 포함하도록 필터링하는 것이다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_store라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용입니다.

%>%: dplyr의 파이프 연산자로 여러 데이터 조작 함수를 연결할 수 있다.

filter(prefecture_cd ! = "13" & floor_area <= 900): 현 코드가 "13"이 아니고 바닥 면적이 900 이하인 행만 포함하도록 데이터 프레임을 필터링하고 있다.

즉, 이 코드는 df_store 데이터 프레임을 필터링하여 도도부현 코드가 "13"이 아닌 바닥 면적이 900 이하인 행만 포함하도록 필터링하고 있습니다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_store라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용을 설명합니다.

df_store입니다. 이것은 사용 중인 데이터 프레임입니다.

%>%: dplyr의 파이프 연산자로 여러 데이터 조작 함수를 연결할 수 있다.

filter(startsWith(store_cd, "S14")): store_cd 열이 "S14"로 시작하는 행만 포함하도록 데이터 프레임을 필터링하고 있다.

head(. , n = 10): head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택하고 있습니다.

즉, 이 코드는 df_store 데이터 프레임을 필터링하여 store_cd 열이 "S14"로 시작하는 행만 포함하도록 필터링하고 head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택하고 있습니다.

 

설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_customer라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용입니다.

df_customer: df_customer: 사용 중인 데이터 프레임입니다.

dplyr: dplyr의 파이프 연산자이며, 여러 데이터 조작 함수를 연결할 수 있다.

filter(endsWith(customer_id, "1")): customer_id 열의 끝이 "1"인 행만 포함하도록 데이터 프레임을 필터링한다.

head(. , n = 10): head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택하고 있습니다.

즉, 이 코드는 df_customer 데이터 프레임을 필터링하여 customer_id 컬럼이 "1"로 끝나는 행만 포함하도록 필터링하고, head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택하고 있는 것입니다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_store라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용을 설명합니다.

df_store입니다. 이것은 사용 중인 데이터 프레임입니다.

%>%: dplyr의 파이프 연산자로 여러 데이터 조작 함수를 연결할 수 있다.

filter(grepl("요코하마시", address)): 주소란에 '요코하마시'라는 문자열이 포함된 행만 포함하도록 데이터 프레임을 필터링하고 있으며, grepl() 함수는 address 열의 각 요소에 '요코하마시'라는 패턴이 있는지 여부를 나타내는 논리 벡터를 반환합니다.

즉, 이 코드는 df_store 데이터 프레임을 필터링하여 주소 열에 "요코하마시"라는 문자열이 포함된 행만 포함하도록 하고 있는 것입니다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_customer라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용입니다.

df_customer: df_customer: 사용 중인 데이터 프레임입니다.

%>%: dplyr의 파이프 연산자이며, 여러 데이터 조작 함수를 연결할 수 있다.

filter(grepl("^[A-F]", status_cd)): status_cd 열이 A, B, C, D, E, F 문자로 시작하는 행만 포함하도록 데이터 프레임을 필터링하고, grepl() 함수는 정규식 "^[A-F]"가 status_cd 열의 각 요소와 일치하는지 여부를 나타냅니다. 의 각 요소와 일치하는지 여부를 나타내는 논리 벡터를 반환한다. 정규 표현식 "^[A-F]"는 A, B, C, D, E 또는 F로 시작하는 모든 문자열과 일치한다.

head(. , n = 10): 이것은 head() 함수를 사용하여 결과 데이터 프레임의 처음 10 줄을 선택합니다.

즉, 이 코드는 df_customer 데이터 프레임을 필터링하여 status_cd 열이 A, B, C, D, E, F로 시작하는 행만 포함하도록 하고 head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택한다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_customer라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용입니다.

df_customer: 사용 중인 데이터 프레임입니다.

%>%: dplyr의 파이프 연산자로 여러 데이터 조작 함수를 연결할 수 있다.

filter(grepl("[1-9]$", status_cd)): status_cd 열의 끝이 1-9 숫자로 끝나는 행만 포함하도록 데이터 프레임을 필터링하고, grepl() 함수는 정규 표현식 "[1-9]$"가 status_cd 열의 각 요소와 일치하는지 여부를 나타내는 논리 벡터를 반환한다. 정규 표현식 "[1-9]$"는 1~9로 끝나는 문자열과 일치한다.

head(. , n = 10)을 사용한다. 이것은 head() 함수를 사용하여 결과 데이터 프레임의 처음 10줄을 선택하고 있다.

즉, 이 코드는 df_customer 데이터 프레임을 필터링하여 status_cd 열의 끝이 1-9 숫자로 끝나는 행만 포함하도록 하고 head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택하고 있는 것이다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_customer라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용입니다.

df_customer: 사용 중인 데이터 프레임입니다.

%>%: dplyr의 파이프 연산자로 여러 데이터 조작 함수를 연결할 수 있다.

filter(grepl("^[A-F]. *[1-9]$", status_cd)): status_cd 열이 A, B, C, D, E, F 중 하나의 문자로 시작하고 1-9의 숫자로 끝나는 행만 포함하도록 데이터 프레임을 필터링하는 함수로, grepl() 함수는 정규식 "^[A-F]. [1-9]$"가 status_cd 열의 각 요소와 일치하는지 여부를 나타내는 논리 벡터를 반환한다. 정규 표현식 "^[A-F]. [1-9]$"는 문자 A, B, C, D, E, F로 시작하고 0 이상의 임의의 유형이 이어지며 1부터 9까지의 숫자로 끝나는 문자열과 일치한다.

head(. , n = 10): 이것은 head() 함수를 사용하여 결과 데이터 프레임의 처음 10 줄을 선택합니다.

즉, 이 코드는 df_customer 데이터 프레임을 필터링하여 status_cd 열이 A, B, C, D, D, E 또는 F 문자로 시작하고 1-9 숫자로 끝나는 행만 포함하도록 필터링하고 head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택한다. 하게 됩니다.
 
설명:

이 코드는 R의 dplyr 패키지를 사용하여 df_store라는 데이터 프레임을 조작하고 있습니다. 아래는 코드의 내용을 설명합니다.

df_store : 사용 중인 데이터 프레임입니다.

%>% : dplyr의 파이프 연산자이며, 여러 데이터 조작 함수를 연결할 수 있다.

filter(grepl("^[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{4}$", tel_no)): tel_no 열이 특정 전화번호 형식과 일치하는 행만 포함하도록 데이터 프레임을 필터링하는 함수입니다. -9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{4}$"가 tel_no 열의 각 요소와 일치하는지 여부를 나타내는 논리 벡터를 반환한다. 정규식 "^[0-9]{3}-[0-9]{3}-[0-9]{3}-[0-9]{4}$"는 3자리, 하이픈, 3자리, 하이픈, 마지막으로 4자리로 구성된 문자열과 일치한다.

head(.) : 이것은 head() 함수를 사용하여 결과 데이터 프레임의 처음 6줄을 선택하고 있다.

즉, 이 코드는 df_store 데이터 프레임을 필터링하여 tel_no 열이 특정 전화 번호 형식과 일치하는 행만 포함하도록 하고 head() 함수를 사용하여 결과 데이터 프레임의 첫 번째 6행만 선택한다.
 
설명:

이 코드는 df_customer 데이터 프레임을 birth_day 열로 오름차순으로 정렬하고 head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택합니다. 아래는 코드의 내용을 소개합니다.

df_customer: 사용 중인 데이터 프레임입니다.

[order(df_customer$birth_day),] : df_customer 데이터 프레임을 서브셋하여 모든 열을 포함하도록 하고, birth_day 열의 오름차순으로 행을 정렬합니다. order() 함수는 birth_day 열을 오름차순으로 정렬하는 인덱스 벡터를 반환합니다. 이 인덱스를 데이터 프레임의 행에 연산자로 적용하면 데이터 프레임은 생일 열을 기준으로 정렬됩니다.

head(. , n = 10): head() 함수를 사용하여 완성된 데이터 프레임의 처음 10개의 행을 선택하고 있습니다.

즉, 이 코드는 df_customer 데이터 프레임을 birth_day 열로 오름차순으로 정렬하고, head() 함수를 사용하여 결과 데이터 프레임의 첫 10개의 행을 선택하고 있는 것이다. 이 코드는 df_customer 데이터 프레임에서 가장 오래된 고객을 빠르게 확인하고 싶을 때 유용하다.
 
설명:

이 코드는 df_customer 데이터 프레임을 birth_day 열로 내림차순으로 정렬하고 head() 함수를 사용하여 결과 데이터 프레임의 처음 10개의 행을 선택합니다. 아래는 코드의 내용을 소개합니다.

df_customer: 사용 중인 데이터 프레임입니다.

[order(df_customer$birth_day, decreasing = TRUE), ]: df_customer 데이터 프레임을 하위 집합화하여 모든 열을 포함하되, birth_day 열을 기준으로 내림차순으로 행을 정렬하고 있습니다. 는 기본적으로 birth_day 열을 오름차순으로 정렬하는 인덱스 벡터를 반환하지만, decreasing = TRUE를 설정하여 내림차순으로 정렬할 수 있습니다. 이 인덱스를 데이터 프레임의 행에 연산자로 적용하면 데이터 프레임은 birth_day 열의 내림차순으로 정렬됩니다.

head(. , n = 10): head() : 완성된 데이터 프레임의 처음 10개의 행을 선택하는 부분이다.

즉, 이 코드는 df_customer 데이터 프레임을 birth_day 열로 내림차순으로 정렬하고, head() 함수를 사용하여 결과 데이터 프레임의 첫 10개의 행을 선택하고 있는 것이다. 이 코드는 df_customer 데이터 프레임에서 가장 어린 고객을 빠르게 확인하고 싶을 때 유용합니다.
 
설명:

이 코드는 df_receipt 데이터 프레임에서 customer_id와 amount라는 열을 선택하고, ranking이라는 새로운 열을 추가하여 거래 금액에 따른 각 고객의 순위를 표시합니다(가장 높은 금액을 1순위로 설정). 아래는 코드의 내용을 소개합니다.

df_receipt[c("customer_id", "amount")]: df_receipt 데이터 프레임을 서브셋하여 customer_id와 amount 컬럼만 포함하도록 한 것이다.

%>%: 이전 연산의 출력을 다음 연산의 입력으로 전달하는 파이프 연산자이다.

mutate(ranking = min_rank(desc(amount))): 데이터 프레임에 ranking이라는 새로운 컬럼을 추가하는 것으로, 거래 금액에 따른 각 고객의 순위를 나타냅니다. 순위를 계산하고, 동점은 임의로 해소한다. 이 함수를 마이너스(desc() 함수)를 취한 후 금액 열에 대해 가장 높은 값의 순위가 1이 되도록 적용하면 거래 금액에 따른 고객 순위를 얻을 수 있다.

arrange(ranking) : 데이터 프레임을 랭킹 열에서 오름차순으로 정렬합니다.

slice(1:10) : slice() 함수를 사용하여 결과 데이터 프레임의 상위 10개의 행을 선택하고 있습니다.

즉, 이 코드는 df_receipt 데이터 프레임에서 customer_id와 amount 열을 선택하고, ranking이라는 새로운 열을 추가하여 거래 금액에 따른 각 고객의 순위를 표시하고, ranking 열을 기준으로 데이터 프레임을 정렬하고, 결과 데이터 프레임의 상위 10개의 행을 선택하고 있습니다. 이 코드는 df_receipt 데이터 프레임의 거래 금액별 상위 10명의 고객을 빠르게 확인하고 싶을 때 유용합니다.
 
설명:

이 코드는 "customer_id"와 "amount" 열을 포함하는 df_receipt라는 데이터 프레임에 대해 일련의 처리를 수행한다.

다음은 이 코드가 수행하는 작업을 단계별로 설명합니다.

df_receipt[c("customer_id", "amount")] : df_receipt 데이터 프레임에서 "customer_id"와 "amount" 컬럼만 선택합니다. 결과 데이터 프레임에는 이 두 컬럼만 포함됩니다.

%>%: R의 파이프 연산자로, 데이터 프레임에 대한 여러 연산을 연결하는 데 사용된다. 한 연산의 출력은 다음 연산의 입력으로 전달된다.

mutate(ranking = row_number(desc(amount))): mutate 함수를 사용하여 데이터 프레임에 "ranking"이라는 새로운 열을 생성하고, "ranking" 열은 "amount" 열을 기준으로 "amount"의 가장 높은 값을 "1", 두 번째로 높은 값을 "2"로 설정한다. 에 가장 높은 값을 "2", 두 번째로 높은 값을 "2"로 순위를 매기고, desc 함수는 "amount" 컬럼을 내림차순으로 정렬하는 데 사용된다.

arrange(ranking) : 데이터 프레임을 "ranking" 컬럼에서 오름차순(1~n)으로 정렬한다.

slice(1:10) : 정렬된 데이터 프레임의 처음 10개의 행을 선택한다(즉, "amount" 값과 해당 "customer_id" 값이 가장 큰 10개의 행을 선택한다). slice 함수는 데이터 프레임에서 행을 부분 집합으로 만드는 데 사용된다.

요약하면, 이 코드는 데이터 프레임에서 "customer_id"와 "amount"열을 선택하고, "amount"값을 내림차순으로 순위를 매기고, 순위에 따라 데이터 프레임을 정렬하고, 상위 10개의 행(즉, "amount"값이 가장 높은 10명의 고객)을 선택한다.

 

Comment