我正在使用子集功能但我经常遇到一个问题,如果我想基于多个因子级别对数据进行子集化,我最终会得到非子集数据。
我很清楚通过创建一个列表并使用%in%方法手动对其进行子集来解决这个问题,但这似乎是违反直觉的,我不能通过以下方式来实现:
#sample data
Code <- c("A","B","C","D","C","D","A","A")
Value <- c(1, 2, 3, 4, 1, 2, 3, 4)
data <- data.frame(cbind(Code, Value))
所以,假设我只想获得包含代码A和B的行:
data = subset(data, Code != "C" | Code != "D")
这导致什么都没发生! 在我看来应该有一个干净的方法来使用subset()函数。我错过了什么吗?