使用R,需要一个if,if_else或for语句来替换data.frame中不需要的数字

问题描述 投票:0回答:2

使用R,应该在data.frame上使用ifelse,if_else,if,for或其他语句来查找负数并将其替换为正数0.001吗?换句话说,用正数0.001替换data.frame中的所有负数。基本的R,plyr或dplyr函数将起作用。

set.seed(1)] >>

dfTest

]

在MS-Excel中,代码可能是= if(x <0,0.001,x)。列表中有多个R示例,但适用于data.frames的示例并不多。谢谢。

使用R,应该在data.frame上使用ifelse,if_else,if,for或其他语句来查找负数并将其替换为正数0.001吗?换句话说,替换所有...

r for-loop if-statement dplyr plyr
2个回答
1
投票

很简单。只是使用这个。

dftest [dftest <0]

要实现这一点,您不需要使用ifelse(),这将完成此工作:

dfTest[dfTest < 0] <- 0.001
#result
  X1     X2 X3     X4 X5
1 19 62.000 74 13.000 85
2 30 59.000 44 61.000 27
3 53  0.001 68  3.000 43
4 89 12.000 99 19.000 55
5 12  9.000 31 32.000 44
6 88 65.000 75  0.001 10
7 93 32.000 92 32.000 81

1
投票

要实现这一点,您不需要使用ifelse(),这将完成此工作:

© www.soinside.com 2019 - 2024. All rights reserved.