当前位置:  开发笔记 > 编程语言 > 正文

在R中的数据框中将负值转换为零

如何解决《在R中的数据框中将负值转换为零》经验,为你挑选了2个好方法。

我在R中有一个数据帧,我想将所有列(在ID之外)从负转换为零

id1  id2  var1  var2  var3
-1   -1   0     -33     5
-1   -2   9     -10    -1

我可以使用代码行转换所有列,如:

temp[temp < 0] <- 0

但我无法将其调整为仅一列的列.我试过了:

temp[temp < 0, -c(1,2)] <- 0

但是这个错误说明不存在不存在的行



1> Batanichek..:

编辑你的变种

temp[,-c(1,2)][temp[, -c(1,2)] < 0] <- 0



2> A5C1D2H2I1M1..:

您可以尝试使用replace:

> mydf[-c(1, 2)] <- replace(mydf[-c(1, 2)], mydf[-c(1, 2)] < 0, 0)
> mydf
  id1 id2 var1 var2 var3
1  -1  -1    0    0    5
2  -1  -2    9    0    0

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有