gpt4 book ai didi

删除 R 中列值介于 -1 和 1 之间的行

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

我在 R 中有一个如下所示的数据框:

   V1         T1         T2         T3         T4        T5
CXCL6 0.8536601 1.0903336 3.7633042 5.5800459 5.8477150
PPBP 0.7739450 0.3587961 0.5073359 0.2743522 0.6221722
CXCL10 0.1258370 -0.3535165 -0.7460387 3.5604672 0.1971432
CXCL11 -0.2563139 0.7117200 0.0000000 -0.2288303 0.9955557
CXCL12 0.6181279 1.7529310 1.7637760 1.2752787 1.2284810

我想删除值仅介于 -1 和 1 之间的行。

我试过这个命令,但不幸的是它不起作用。

condition1 <- Genes[,c(2:6)] >=-1 & Genes[,c(2:6)] <=1
Genes <- Genes[condition1,]

谁能告诉我我哪里错了,这样我就可以成功过滤我的数据框。

最佳答案

您可以在 apply 中使用 all 子集 Genes删除列中所有值都在 -1 和 1 之间的行.

Genes[!apply(Genes[-1] >= -1 & Genes[-1] <= 1, 1, all),]
# V1 T1 T2 T3 T4 T5
#1 CXCL6 0.8536601 1.0903336 3.7633042 5.580046 5.8477150
#3 CXCL10 0.1258370 -0.3535165 -0.7460387 3.560467 0.1971432
#5 CXCL12 0.6181279 1.7529310 1.7637760 1.275279 1.2284810

或使用任何:

Genes[apply(Genes[-1] < -1 | Genes[-1] > 1, 1, any),]

或使用rowSums:

Genes[rowSums(Genes[-1] < -1 | Genes[-1] > 1) > 0,]

关于删除 R 中列值介于 -1 和 1 之间的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60619179/

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