gpt4 book ai didi

r - 按要删除的行的多个逻辑条件对数据帧进行子集

转载 作者:行者123 更新时间:2023-12-03 07:36:16 24 4
gpt4 key购买 nike

我想通过指定哪些行(!)保留在新数据帧中来对数据帧进行子集化(过滤)。这是一个简化的示例数据框:

data
v1 v2 v3 v4
a v d c
a v d d
b n p g
b d d h
c k d c
c r p g
d v d x
d v d c
e v d b
e v d c

例如,如果 v1 列的一行有“b”、“d”或“e”,我想删除该行观察结果,生成以下数据框:

v1 v2 v3 v4
a v d c
a v d d
c k d c
c r p g

我已经成功地一次根据一个条件进行子集化。例如,这里我删除 v1 包含“b”的行:

sub.data <- data[data[ , 1] != "b", ]

但是,我有很多很多这样的条件,所以一次做一个是不可取的。我在以下方面没有成功:

sub.data <- data[data[ , 1] != c("b", "d", "e")

sub.data <- subset(data, data[ , 1] != c("b", "d", "e"))

我也尝试过其他一些东西,例如 !%in%,但这似乎不存在。有什么想法吗?

最佳答案

试试这个

subset(data, !(v1 %in% c("b","d","e")))

关于r - 按要删除的行的多个逻辑条件对数据帧进行子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6244217/

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