【发布时间】:2017-09-09 17:25:32
【问题描述】:
背景
我在 R 中有一个 NxM data.frame MATRIX_1,其中包含一系列值。除此之外,我还有另一个 NxM data.frame MATRIX_2 包含到第一个的 1:1 映射,但它们不是数值,而是布尔值,用于判断该数据点是否超出平均值的 2 个标准偏差那个特定的列。
目标
我想从我的MATRIX_1 中删除所有行,其中MATRIX_2 中对应的[row, col] 包含TRUE 值。
示例
MATRIX_2
AGE SEX BMI BP S1 S2 S3 S4 S5 S6 Y PROGRESSION
[1,] FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
在上面,BMI 列中有一个 TRUE 值。因此,应该从MATRIX_1 中删除整行,其中MATRIX_1 如下所示:
MATRIX_1
AGE SEX BMI BP S1 S2 S3 S4 S5 S6 Y PROGRESSION
1 59 2 32.1 101.00 157 93.2 38.0 4.00 4.8598 87 151 1
尝试
我使用%in% 运算符看到了以下一些内容,但希望它自动应用于所有列,而df1[!(df1$name %in% df2$name),] 之类的内容专门针对框架中的单个列。
使用subset我几乎成功了
subset(diabetes2, boolean_diabetes2[,1] == TRUE)
【问题讨论】:
标签: r