我正在寻找 r 中生存数据的一些特征选择方法。我想使用最大相关性和最小冗余来完成上述任务。在 mRMRe 包的小插图中,它提到它们接受 MIM 和变量选择的生存数据。但我找不到任何有用的例子来帮助我进行特征选择。
如果有人可以请写下使用 mRMRe 包进行生存分析中特征选择的确切代码。
我尝试了一个简单的例子,但这对我来说不起作用,因为使用的数据集不是生存类型。
我也找不到任何在生存数据上使用
mRMRe
的示例。这是我对其预期用途的解释。
data
:预计是一个数据框,其中样本和特征分别组织为行和列。这些列的类型必须是:数字、有序因子、Surv,并分别解释为:连续、离散和生存变量。
library(survival)
library(mRMRe)
lung <- survival::lung
df <- lung[,4:10]
df$target <- Surv(lung$time, lung$status)
mRMR_data <- mRMR.data(data=df)
> head(mRMR_data@data)
age sex ph.ecog ph.karno pat.karno meal.cal wt.loss target_event target_time
1 74 1 1 90 100 1175 NA 1 306
2 68 1 0 90 90 1225 15 1 455
3 56 1 0 90 90 NA 15 0 1010
4 57 1 1 90 60 1150 11 1 210
5 60 1 0 100 90 NA 0 1 883
6 74 1 1 50 80 513 0 0 1022
: “数字”类的对象,包含特征/变量的内部表示:1 表示数字,2 表示有序因子,3 表示生存数据feature_types
> mRMR_data@feature_types
[1] 0 0 0 0 0 0 0 2 3
mRMR_classic <- mRMR.classic(data=mRMR_data, target_indices=8, feature_count=4)
mRMR_classic@feature_names[unlist(mRMRe::solutions(mRMR_classic))]
[1] "sex" "ph.karno" "pat.karno" "meal.cal"