gpt4 book ai didi

r - 删除 R data.table 的行

转载 作者:行者123 更新时间:2023-12-01 12:30:28 25 4
gpt4 key购买 nike

我有一个数据表:

> dat
Mutant F1 F2 F3 F4 F5 F6 F7
1: A115D 6.53193 7.19020 8.45634 8.49147 9.28304 16.83618 10.70517
2: A115F 0.90377 4.33477 5.71287 6.63125 5.86933 9.41705 14.59203
3: A115G 3.26668 4.46146 5.42433 7.80924 8.52429 10.92138 11.27432
4: A115H 2.91278 5.09545 6.01828 8.18154 8.11368 11.98551 11.33009
5: A115I 9.35627 9.29640 9.78475 10.76222 12.80510 16.13456 16.51090
---
313: Y80R -1.19326 -2.05579 -1.16474 1.74387 4.79593 5.59487 11.35956
314: Y80S -0.77282 -1.51611 -0.07168 3.16070 3.16795 7.73116 11.60527
315: Y80T -0.16135 -0.05859 2.02493 3.28120 6.10268 11.71562 12.45665
316: Y80V -0.24050 -0.59869 0.36746 3.07046 3.75905 9.17579 11.83179
317: Y80W 0.77770 -0.10166 2.27790 6.11470 6.01080 9.47050 13.95344

我想删除所有 F1 - F7 列的值大于 10 的行。

阅读小插图,我得到了

> dat[, .SD > 10, .SDcols=2:7]

虽然我不确定我在这里做的是否有意义。无论如何,这给出了类似的东西:

> dat[, .SD>10, .SDcols=2:7]
F1 F2 F3 F4 F5 F6 F7
[1,] FALSE FALSE FALSE FALSE FALSE TRUE TRUE
[2,] FALSE FALSE FALSE FALSE FALSE FALSE TRUE
[3,] FALSE FALSE FALSE FALSE FALSE TRUE TRUE
[4,] FALSE FALSE FALSE FALSE FALSE TRUE TRUE
[5,] FALSE FALSE FALSE TRUE TRUE TRUE TRUE
[6,] FALSE FALSE FALSE FALSE TRUE TRUE TRUE

现在,我想过滤掉任何条目为 TRUE 的所有行。

最佳答案

你可以使用命令which

dat[-which(rowSums(dat[,2:8]>10)>0),]

或者正如 TTMOTT 指出的那样

dat[-(rowSums(dat[,2:8]>10)>0),]

稍微快点 dat[-哪个(最大(dat[,2:8])>10),]

它基本上计算了有 true 的行

希望我没弄错我的玩具示例是:

 lines ="Mutant,F1,F2,F3,F4,F5,F6,F7
A115D,6.53193,7.19020,8.45634,8.49147,9.28304,16.83618,10.70517
A115F,0.90377,4.33477,5.71287,6.63125,5.86933,9.41705,14.59203
A115G,3.26668,4.46146,5.42433,7.80924,8.52429,10.92138,11.27432
A115H,2.91278,5.09545,6.01828,8.18154,8.11368,11.98551,11.33009
A115I,9.35627,9.29640,9.78475,10.76222,12.80510,16.13456,16.51090"

con <- textConnection(lines)
dat <- read.csv(con)
dat

dat[rowSums(dat[,2:7]>10)>0,]

关于r - 删除 R data.table 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34571038/

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