R의 data.table에 조건부 확률 추가
Nov 04 2020
3 가지 조건을 기반으로 생존 확률을 찾고자하는 타이타닉 데이터 세트가 있습니다. 다음 표는 확률을 제공합니다.
library(PASWR2)
tab = with(TITANIC3, ftable(fare = fare > 200, pclass, sex, survived)) %>% prop.table(1) %>% round(3) * 100
tab
tab테이블에서 TITANIC3 데이터 세트에 새 열로 확률을 쉽게 추가 할 수있는 방법이 있습니까?
감사!
답변
1 stats_guy Nov 04 2020 at 16:20
이는 패키지를 사용하여 수행 할 수 있습니다 data.table. 객체 TITANIC3는 클래스 data.frame입니다. 먼저 클래스로 변환해야합니다 data.table. data.table을 사용하는 경우 집계 및 그룹화 절을 기반으로 한 새 열을 한 줄에 직접 정의 할 수 있습니다. 아래 코드를 실행하십시오.
조건부 생존 확률이있는 새 열은 survival_prob입니다. data.tableR에서 데이터를 조작하는 가장 빠른 방법이기 때문에 항상 사용하는 것이 좋습니다 . 그러나를 data.frame사용 하여 분석을 진행 하려면 명령 setDF(titanic3)을 사용 하여 객체를 다시 class로 변환하십시오 data.frame.
library(PASWR2)
library(magrittr)
library(data.table)
# convert dataset from data frame to data table
titanic3 <- copy(TITANIC3)
setDT(titanic3)
# define new column survival_prob using by-option
titanic3[, survival_prob := round(100*mean(survived), 1),
by = .(fare > 200, pclass, sex)]