gpt4 book ai didi

r - 根据部分列名称和数学表达式过滤数据框中的行

转载 作者:行者123 更新时间:2023-12-02 13:32:21 27 4
gpt4 key购买 nike

我正在尝试找到一种使用列标题的部分名称和数学表达式 (x > 0) 来过滤行的方法。在这里给出我的数据:

    OTU_ID       X3_22L15_S   X3_22T10_W   X3_22L6_S   X3_22Algae 
1 denovo109 16 0 9 0
2 denovo147 44 484 28 0
3 denovo297 0 0 7 14
4 denovo1013 0 1 0 0

我只想在标题以“S”结尾的列和以“W”结尾的列中包含值 > 0 的行。我已经找到了根据列标题的子字符串过滤列的方法以及根据特定列中的值进行过滤的方法,但没有找到任何允许我根据两组中同时出现的值 > 0 进行过滤的方法。由不同子字符串指定的列。

如有任何帮助,我们将不胜感激!

最佳答案

我们可以使用dplyr包中的filter_atdt2 是最终输出。

# Load package
library(dplyr)

# Create example data frame
dt <- read.table(text = " OTU_ID X3_22L15_S X3_22T10_W X3_22L6_S X3_22Algae
1 denovo109 16 0 9 0
2 denovo147 44 484 28 0
3 denovo297 0 0 7 14
4 denovo1013 0 1 0 0",
header = TRUE, stringsAsFactors = FALSE)

# Filter the data, with any column ends with "S" or "W" and values > 0
dt2 <- dt %>%
filter_at(vars(ends_with("S")), any_vars(. > 0)) %>%
filter_at(vars(ends_with("W")), any_vars(. > 0))

关于r - 根据部分列名称和数学表达式过滤数据框中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44811127/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com