R'deki data.table'a koşullu olasılıklar ekleme

Nov 04 2020

3 koşula dayalı olarak hayatta kalma olasılığını bulmak istediğim titanik veri setine sahibim. Aşağıdaki tablo olasılıkları vermektedir.

library(PASWR2)
tab = with(TITANIC3, ftable(fare = fare > 200, pclass, sex, survived)) %>% prop.table(1) %>% round(3) * 100
tab

tabTablodan TITANIC3 veri kümesine olasılıkları yeni bir sütun olarak eklemenin kolay bir yolu var mı ?

Teşekkürler!

Yanıtlar

1 stats_guy Nov 04 2020 at 16:20

Bu, paket kullanılarak sağlanabilir data.table. Nesne TITANIC3sınıftır data.frame. İlk önce onu sınıfa dönüştürmen gerekiyor data.table. Data.table'ı kullanırken, toplamaları ve bir gruplama cümlesini doğrudan tek satırda temel alan yeni sütunlar tanımlayabilirsiniz. Aşağıdaki kodu çalıştırmanız yeterlidir.

Koşullu hayatta kalma olasılığına sahip yeni sütun survival_prob. data.tableR'de veriyi değiştirmenin en hızlı yolu olduğu için her zaman kullanmanızı öneririm . Bununla birlikte, analizinize a ile devam etmek istiyorsanız , nesneyi tekrar sınıfa dönüştürmek için data.framekomutu setDF(titanic3)kullanın 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)]