factorMerger是一组支持事后测试的工具,可以提取与给定响应相关的因素的层次结构。
其基本的工作流程如图所示:
cheatsheet: https://raw.githubusercontent.com/ModelOriented/factorMerger/master/materials/factorMerger-cheatsheet.png
来看一个例子,代码如下所示。
library(factorMerger)
## Welcome to factorMerger 0.4.0!
library(forcats) # distinguish meaningful factors (fct_lump)
data(BRCA)
brcaSurv <- survival::Surv(time = BRCA$time, event = BRCA$vitalStatus)
drugName <- fct_lump(as.factor(BRCA$drugName), prop = 0.05)
drugNameFM <- mergeFactors(response = brcaSurv[!is.na(drugName)],
factor = drugName[!is.na(drugName)],
family = "survival")
## Warning: `arrange_()` was deprecated in dplyr 0.7.0.
## ℹ Please use `arrange()` instead.
## ℹ See vignette('programming') for more help
## ℹ The deprecated feature was likely used in the dplyr package.
## Please report the issue at <]8;;https://github.com/tidyverse/dplyr/issueshttps://github.com/tidyverse/dplyr/issues]8;;>.
plot(drugNameFM, nodesSpacing = "effects", gicPanelColor = "grey2")
## Warning: Vectorized input to `element_text()` is not officially supported.
## ℹ Results may be unexpected or may change in future versions of ggplot2.
再看一个例子:
irismef <- mergeFactors(response = iris$Sepal.Length,factor = iris$Species)
irismef
## Family: gaussian Factor Merger.
## Factor levels were recoded as below:
##
## |recoded |original |
## |:-------|:----------|
## |(sets) |setosa |
## |(vrsc) |versicolor |
## |(vrgn) |virginica |
##
## Factor levels were merged in the following order:
##
## | |groupA |groupB | model| pvalVsFull| pvalVsPrevious|
## |:--|:------|:------------|---------:|----------:|--------------:|
## |0 | | | -111.7260| 1| 1|
## |1 |(vrsc) |(vrgn) | -129.8179| 0| 0|
## |2 |(sets) |(vrsc)(vrgn) | -184.0398| 0| 0|
plot(irismef)
## Warning: Vectorized input to `element_text()` is not officially supported.
## ℹ Results may be unexpected or may change in future versions of ggplot2.