R - 根据特定行的值删除列

Mul*_*I. 1 r dplyr

我有一个表,其中包含一个“总计”行,该行对每列的所有先前行进行求和。我想删除总数小于 10 的每一列。在下面的示例中,这意味着删除 B 列和 C 列。

ID A栏 B栏 C栏 D 栏
A 5 1 2 10
0 0 3 15
C 7 1 1 22
全部的 12 2 6 47

我还没有真正尝试过任何东西,因为我根本不熟悉处理 R 中的特定行。提前感谢您的帮助。

Qui*_*ten 5

您可以将值高于 10 的select列如下所示:wherelast

library(dplyr)
df %>%
  select(where(~ last(.x) > 10))
#>      ID  A  D
#> 1     A  5 10
#> 2     B  0 15
#> 3     C  7 22
#> 4 Total 12 47
Run Code Online (Sandbox Code Playgroud)

创建于 2024-02-19,使用reprex v2.0.2


使用的数据:

df <- read.table(text = "ID A   B   C   D
A   5   1   2   10
B   0   0   3   15
C   7   1   1   22
Total   12  2   6   47
", header = TRUE)
Run Code Online (Sandbox Code Playgroud)