假設我有兩個數據幀A
和B_mask
,其中揭開值
A <- as.data.frame(matrix(1:20,nrow=4))
V1 V2 V3 V4 V5
1 1 5 9 13 17
2 2 6 10 14 18
3 3 7 11 15 19
4 4 8 12 16 20
而且還假設,
B_mask <- matrix(FALSE, nrow=4, ncol=5)
B_mask[2:3, 1:3] <- TRUE
B_mask <- as.data.frame(B_mask)
V1 V2 V3 V4 V5
1 FALSE FALSE FALSE FALSE FALSE
2 TRUE TRUE TRUE FALSE FALSE
3 TRUE TRUE TRUE FALSE FALSE
4 FALSE FALSE FALSE FALSE FALSE
怎樣才能得到一個result
數據框架使得:
如果在中的條目等於
TRUE
,在A
中發現相應的值?例如,因爲B_mask[2,1] = TRUE
,我想要result[2,1] = A[2,1] = 2
。如果
B_mask
中的一個條目等於FALSE
,那麼覆蓋A
中的對應值爲NA
?例如,因爲B_mask[3,4] = FALSE
,我想要result[3,4] = NA
。
謝謝!
做難道你的意思是'資源< - A; res [] < - as.matrix(A)[as.logical(NA ^!B_mask)]' – akrun
@akrun是的!請把它作爲答案,我會接受它:) – user32416