比较两列并替换R包

时间:2017-02-16 22:00:09

标签: r loops for-loop replace compare

我在使用for循环时遇到问题。我的问题是:如果两列相等(有176或184或180或182或163或167值)替换两列= NULL

我写了剧本,但它不起作用。

for (i in dane.dzikie$REN75M10 && dane.dzikie$REN75M10.1) if (i==176 | 184 | 180 | 182 |
                                                          163 | 167) {i=NULL}

这是我数据的一部分: enter image description here

我想替换第一列,第五列和最后一列应替换NA,因为两列都包含176或184或180或182或163或167值。条件在两列中都是相同的值。

1 个答案:

答案 0 :(得分:0)

# example dataframe something like this?
dane.dzikie <- data.frame(REN75M10=c(176, 184, 5, 6, 7), 
                          REN75M10.1=c(163,1,2,3,4), OTHER=c(163,2,3,4,5))

columns=c("REN75M10", "REN75M10.1")
invalid.values <- c(176,184,180,182,163,167)
dane.dzikie[,columns] <- 
   apply(dane.dzikie[,columns], 2, 
         function(x) ifelse(x %in% invalid.values, NA, x))