我在使用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值。条件在两列中都是相同的值。
答案 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))