问题描述
这是我的数据框:
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))