如果来自另一列的值不是1,则使用NA替换列中的值

时间:2014-11-23 12:35:59

标签: r replace na

我有一个Spatialpointsdataframe。如果在另一列的同一行中值不是1,我想用NA替换列中的值。 例如: 我有一个很好的道路类型和一个专栏。如果joincount连续不是1,我想用NA替换roadtype。 知道怎么做吗? 谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

尝试

library(sp)
S@coords[,'roadtype'][S@coords[,'jointcount']!=1] <- NA
S
# SpatialPoints:
#     jointcount roadtype
#[1,]          1        3
#[2,]          4       NA
#[3,]          3       NA
#[4,]          1        1
#[5,]          1        4

数据

jointcount = c(1,4,3,1,1)
roadtype = c(3,2,5,1,4)
S <- SpatialPoints(data.frame(jointcount,roadtype))