gpt4 book ai didi

使用行索引从数据框中删除行,其中行索引可能为零长度向量

转载 作者:行者123 更新时间:2023-12-03 20:17:00 26 4
gpt4 key购买 nike

我想使用行的数字索引从某个数据框中删除一些行。但有时我要删除的索引向量会变成零长度向量。在这种情况下,我希望不会从原始数据框中删除任何内容。但不是什么都没有,一切都被丢弃了。

例如,这里drop按预期工作

df = data_frame( a = 10:12 )
drop = c(1,2)
df[ -drop, ]
# # A tibble: 1 × 1
# a
# <int>
# 1 12

但是当 drop是零长度向量,然后删除这些行并不像我预期的那样工作。
drop = integer()
df[ -drop, ]
# A tibble: 0 × 1
# ... with 1 variables: a <int>

我期待得到整个 df对象没有任何修改。

如何安全地使用行索引从数据框中删除行,其中行索引可能成为零长度向量?

最佳答案

因此,最好使用 %in%并否定 !

df[!seq_len(nrow(df)) %in% drop, ]

因为它是 data_frame ,我们可以使用 tidyverse方法
df %>%
filter(!row_number() %in% drop)

关于使用行索引从数据框中删除行,其中行索引可能为零长度向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44265783/

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