【发布时间】:2018-12-08 17:32:36
【问题描述】:
我为大型数据集创建了一个预测矩阵,如下所示:
library(mice)
dfpredm <- quickpred(df, mincor=.3)
A B C D E F G H I J
A 0 1 1 1 0 1 0 1 1 0
B 1 0 0 0 1 0 1 0 0 1
C 0 0 0 1 1 0 0 0 0 0
D 1 0 1 0 0 1 0 1 0 1
E 0 1 0 1 0 1 1 0 1 0
**F 0 0 1 0 0 0 1 0 0 0**
G 0 1 0 1 0 0 0 0 0 0
H 1 0 1 0 0 1 0 0 0 1
I 0 1 0 1 1 0 1 0 0 0
J 1 0 1 0 0 1 0 1 0 0
我想在dfpredm的基础上创建原始df的一个子集。
更具体地说,我想做以下事情:
假设我的因变量是F。
根据预测矩阵 F 与 C 和 G 相关。
此外,C 和 G 分别由 D,E 和 B,D 预测最好。
现在的想法是根据因变量 F 创建 df 的子集,其中 F 行中的值为 1。
Fpredictors <- df[,(dfpredm["F",]) == 1]
但也对F 中的行为 1 的变量执行相同操作。我正在考虑首先获取这样的列名:
Fpredcol <-colnames(dfpredm[,(dfpredm["c241",]) == 1])
然后用这些列名做一个for loop?
对于具体示例,我想以子集结尾。
dfsub <- df[,c("F","C","G","B","E","D")]
然而,我想自动化这个过程。谁能告诉我如何做到这一点?
【问题讨论】: