如何替换R中数据框中的值?

use*_*332 5 replace r

我有0值的数据框,我想将每个零转换为0.1和0.5之间的随机值

      X2     X3     X4     X5
390    0  0.000   0.00   0.00
7433   0 27.839   0.00   0.00
5579   0  0.000 151.95   0.00
Run Code Online (Sandbox Code Playgroud)

成为

      X2     X3     X4     X5
390    0.1  0.200   0.43  0.29
7433   0.3 27.839   0.24   0.30
5579   0.4  0.200 151.95   0.50
Run Code Online (Sandbox Code Playgroud)

Dav*_*urg 9

可以试试

indx <- df == 0L
df[indx] <- runif(sum(indx), 0.1, 0.5)
Run Code Online (Sandbox Code Playgroud)