【问题标题】:change row value to 0 based on rowsums in r根据 r 中的行和将行值更改为 0
【发布时间】:2021-01-20 01:39:50
【问题描述】:

这是我的数据框:

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

有什么简单的方法吗?

【问题讨论】:

    标签: r replace rowsum


    【解决方案1】:

    您可以将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 是在行和计算中忽略数据中的第一列ID,并将其替换为0。

    数据

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

    【讨论】:

      猜你喜欢
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多