【发布时间】:2021-09-23 08:00:58
【问题描述】:
如果参与者在无效条件下的得分高于有效条件,我必须将他们纳入数据框(或现有数据框)。但是我有两次(T1-T3)数据。
我试过这个:data_new <- subset(data_raw, T1_invalid > T1_valid & T3_invalid > T3_valid)
但是,它不起作用,因为例如,一些参与者可能仅在一次 (T1) 中获得较高的无效分数,而不是在第二次 (T3) 中,反之亦然。
例如,一个人在某个时间可能有更高的无效值,比如 T1_invalid > T1_valid。这应该包含在新的数据框中,没关系。但是,T3_invalid - T3_valid 应该被排除,因为无效分数不高于有效分数。但是当您使用 AND 运算符时,它会排除此人,因为他们必须在 T1 和 T3 中都有更高的无效分数。所以,我们在这种情况下过度排除。
当您使用 OR 运算符时,它是相同的。例如,一个人在 T1_invalid > T1_valid 中得分较高,但在 T3_invalid - T3_valid 中没有。然后,由于其中一个条件是可以的,它包括这个人,但是这个人在 T3 失败了。所以,我们应该排除 T3_invalid - 有效分数。
所以基本上,我一直在寻找可以单独检查它们的东西。然后,我决定像这样将其一一设为空:
data_raw[data_raw$T1_invalid < data_raw$T1_valid, c("T1_invalid", "T1_valid")] <- NA
data_raw[data_raw$T3_invalid < data_raw$T3_valid, c("T3_invalid", "T3_valid")] <- NA
但是,它不允许我这样做,因为我使用了两次变量,条件部分 (>) 和使其为空。
有人知道吗?顺便说一句,它们必须在同一个数据框中才能在模型中使用。
【问题讨论】: