我一直在使用 Rwhich
函数从数据框中删除行。我最近发现如果搜索词不在 data.frame 中,结果是一个空字符。
# 1: returns A-Q, S-Z (as expected)
LETTERS[-which(LETTERS == "R")]
# 2: returns "character(0)" (not what I would expect)
LETTERS[-which(LETTERS == "1")]
# 3: returns A-Z (expected)
LETTERS[which(LETTERS != "1")]
# 4: returns A-Q, S-Z (expected)
LETTERS[which(LETTERS != "R")]
第二个示例-which()
是未找到搜索词时的预期行为吗?我已经将我的代码切换为使用示例 4 中的语法,这似乎更安全,但我只是好奇。