0

我有一个 R data.frame 对象

long   <- c(100.25,100.75,100.75,100.75,100.75,100.75,101.25,99.25,99.25,100.25)
vars  <- c(1750.8, 1789.7, 1788.1, 1782.8, 1867.3, 1771.3, 1789.9, 1820.6, 1789.1, 1868.9)
varp  <- c(1470.714, 1279.862, 1306.740, 1190.296, 1762.874, 1464.975, 1619.855, 1744.476,
            1879.743, 2052.337)
df1 <- data.frame(varp,vars,long)

我想用满足以下条件的 NA替换vars中的所有值

(df$long <= 100.75 & df$long >= 100.25)

我努力了

ind<- which(df1$long <= 100.75 & df1$long >= 100.25)

我明白了

ind
[1]  1  2  3  4  5  6 10 #

这是上述条件的 TRUE 值

如果我使用

df1$vars[-ind]
[1] 1789.9 1820.6 1789.1 #

我得到上述条件的 FLASE 值

有人可以告诉我如何在data.frame中用NA替换vars中的这些FALSE索引吗?

4

1 回答 1

0

我刚用过df1$vars[-ind]=NA,效果很好。

谢谢

于 2013-03-12T01:52:47.443 回答