使用R: 我正在尝试删除不包含任何大于 5 或小于 -5 的值的任何数据行,以便将它们从我的数据分析中排除。我找不到在过滤器命令中使用 OR 函数的方法,因此我决定创建两个新的数据帧(一个仅包含值大于 5 的行,另一个仅包含值低于 -5 的行) 。然后我将它们合并在一起。问题是有些行包含一个大于 5 的数字和另一个小于 -5 的数字,因此当我使用 bind_rows 时,数据会两次输入到新的过滤数据帧中。我要么仅在行名称唯一时才需要绑定行,要么找到一种方法来过滤数据而不创建两个单独的数据框。
这是我的代码:
Data <- read.table("C:/Users/Data.txt",sep="\t",header=TRUE, fill = TRUE)
row.names(Data) <- Data$gene
Data <- Data[, -1]
FilteredDataHigh = Data %>%
filter(if_any(everything(), ~ . >= 5))
FilteredDataLow = Data %>%
filter(if_any(everything(), ~ . <= -5))
FilteredData = bind_rows(FilteredDataHigh,FilteredDataLow)
我认为这应该给出您所需的结果:
FilteredData <- Data %>%
filter(if_any(everything(), function(x) x <=-5 | x >=5))