微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据 r 中的 rowsums 将行值更改为 0

如何解决根据 r 中的 rowsums 将行值更改为 0

这是我的数据框:

ID A B C D E F 
1  0 1 3 5 4 2
2  0 0 0 0 1 0
3  1 2 3 4 4 2
4  0 0 1 1 0 0

我想根据行总和获取一个新的数据框,如果行总和

ID A B C D E F 
1  0 1 3 5 4 2
2  0 0 0 0 0 0
3  1 2 3 4 4 2
4  0 0 0 0 0 0

有什么简单的方法吗?

解决方法

您可以将 rowSums 用作:

df[rowSums(df[-1],na.rm = TRUE) < 10,-1] <- 0
df

#  ID A B C D E F
#1  1 0 1 3 5 4 2
#2  2 0 0 0 0 0 0
#3  3 1 2 3 4 4 2
#4  4 0 0 0 0 0 0

-1 是在计算 rowwise sum 时忽略数据中的第一个 ID 列,并将其替换为 0。

数据

df <- structure(list(ID = 1:4,A = c(0L,0L,1L,0L),B = c(1L,2L,C = c(3L,3L,1L),D = c(5L,4L,E = c(4L,F = c(2L,0L)),class = "data.frame",row.names = c(NA,-4L))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。