使用R替换值

时间:2015-04-10 13:17:04

标签: r

所以这是我的数据框:

date        y        x      z       u      p
25.06.2009  0.582   1.145   0.603   26.36   0
26.06.2009  0.604   1.12    0.61    25.93   0
29.06.2009  0.647   1.108   0.647   25.35   0
30.06.2009  0.597   1.099   0.669   26.35   0
01.07.2009  0.604   1.085   0.633   26.22   0
02.07.2009  0.54    1.072   0.63    27.95   0
06.07.2009  0.543   1.048   0.57    29      0
07.07.2009  0.512   1.044   0.567   30.85   0
08.07.2009  0.496   1.029   0.533   31.3    0
09.07.2009  0.487   1.018   0.515   29.78   23
10.07.2009  0.482   1.007   0.504   29.02   66
13.07.2009  0.473   0.996   0.503   26.31   162
14.07.2009  0.471   0.985   0.503   25.02   235
15.07.2009  0.472   0.979   0.492   25.89   585
16.07.2009  0.441   0.969   0.486   25.42   668
17.07.2009  0.431   0.954   0.461   24.34   1080
20.07.2009  0.438   0.944   0.451   24.4    1883
21.07.2009  0.435   0.937   0.451   23.87   2398

现在我正在寻找一种方法来替换变量p中的0,例如1秒。有一个简单的方法吗?是否有可能用NA替换值?

2 个答案:

答案 0 :(得分:4)

有很多方法可以做到这一点。你可以使用:

d$p[d$p==0]<-1 #replace with 1
d$p[d$p==0]<-NA #OR replace with NA

或者,您可以使用ifelse命令

d$p=ifelse(d$p==0,1,d$p) #replace with 1
d$p=ifelse(d$p==0,NA,d$p) #replace with NA

其中 d是您的数据框。

答案 1 :(得分:2)

如果要将数据存储在数据框中,则可以使用以下方法完成此操作:

df$p[df$p==0] <- 1

在上面的示例中,您的数据框将被称为df。如果您想用NA替换值,只需将NA(未加引号)替换为1即可。