[英]Converting continuous variable to categorical with dplyrXdf
我正在嘗試對某些數據進行一些初步探索。 我正在忙於分析連續變量的單向方法,方法是將它們轉換為因子並按頻段計算頻率。
我想用dplyrXdf做到這一點,但對於我嘗試的工作,它似乎與普通的dplyr不太一樣
sample_data <- RxXdfData("./data/test_set.xdf") #sample xdf for testing
as_data_frame <- rxXdfToDataFrame(sample_data) #same data as dataframe
# Calculate freq by Buildings Sum Insured band
下面的代碼將我的示例數據作為數據框導入
buildings_ad_fr <- as_data_frame %>%
mutate(bd_cut = cut(BD_INSURED_VALUE, seq(from = 150000, to = 10000000,by = 5000000))) %>%
group_by(bd_cut) %>%
summarise(exposure = sum(BENEFIT_EXPOSURE, na.rm = TRUE),
ad_pd_f = sum(ACT_AD_PD_CLAIM_COUNT)/sum(BENEFIT_EXPOSURE, na.rm = TRUE))
但是我無法使用數據的xdf版本執行相同的操作
buildings_ad_fr_xdf <- sample_data %>%
mutate(bd_cut = cut(BD_INSURED_VALUE, seq(from = 150000, to = 10000000,by = 5000000))) %>%
group_by(bd_cut) %>%
summarise(exposure = sum(BENEFIT_EXPOSURE, na.rm = TRUE),
ad_pd_f = sum(ACT_AD_PD_CLAIM_COUNT)/sum(BENEFIT_EXPOSURE, na.rm = TRUE))
我可以想到的解決方法是使用rxDataStep通過在transforms參數中傳遞bd_cut = cut(BD_INSURED_VALUE, seq(from = 150000, to = 10000000,by = 5000000))
來創建新列,但不應有必要采取中間步驟。
我試過在group_by
表達式之前使用.rxArgs函數,但這似乎也不起作用
buildings_ad_fr <- sample_data %>%
mutate(sample_data,.rxArgs = list(transforms = list(bd_cut = cut(BD_INSURED_VALUE,
seq(150000,
10000000,
5000000)))))%>%
group_by(bd_cut) %>%
summarise(exposure = sum(BENEFIT_EXPOSURE, na.rm = TRUE),
ad_pd_f = sum(ACT_AD_PD_CLAIM_COUNT)/sum(BENEFIT_EXPOSURE, na.rm = TRUE))
兩次在xdf文件上都給出Error in summarise.RxFileData(., exposure = sum(BENEFIT_EXPOSURE, na.rm = TRUE),: with xdf tbls only works with named variables, not expressions
錯誤Error.RxFileData Error in summarise.RxFileData(., exposure = sum(BENEFIT_EXPOSURE, na.rm = TRUE),: with xdf tbls only works with named variables, not expressions
現在,我知道此程序包可以分解變量,但是我不確定如何使用它拆分連續變量
有誰知道如何做到這一點?
mutate
應該可以。 對於Xdf文件, summarise
是不同的:
內部summarise
將在默認情況下運行rxCube
或rxSummary
,它們會自動刪除NA。 您不需要na.rm=TRUE
。
您不能總結一個表達式。 解決方案是運行摘要,然后計算表達式:
xdf %>%
group_by(*) %>%
summarise(expos=sum(expos), pd=sum(clms)) %>%
mutate(pd=pd/expos)
我還剛剛將dplyXdf更新為0.10.0 beta ,它增加了對HDFS / Spark和dplyr 0.7的支持以及一些實用的實用程序功能。 如果尚未使用它,則可能需要將其簽出。 正式版本應在下一個MRS版本問世時進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.