[英]subset.data.frame in R
我有一個原始數據的數據框:
raw <- data.frame(subj = c(1,1,1,2,2,2,3,3,3,4,4,4),
blah = c(0,0,0,1,1,1,1,0,1,0,0,0))
從它,我想刪除壞的主題。
badsubj <- c(1,4)
trim <- subset.data.frame(raw, subj != badsubj)
但是由於某些原因,並不會刪除所有badsubj值:
subj blah
2 1 0
4 2 1
5 2 1
6 2 1
7 3 1
8 3 0
9 3 1
11 4 0
我究竟做錯了什么? 意見2和11應該被排除,因為它們是badsubj的成員。
raw[!raw$subj %in% badsubj, ]
錯誤使用!=
問題是subj和badsubj的長度不同。 因此badsubj將被回收直到兩個向量的長度相同。 然后,您的代碼逐元素比較下面輸出中的值。
subj badsubj
1 1 1
2 1 4
3 1 1
4 2 4
5 2 1
6 2 4
7 3 1
8 3 4
9 3 1
10 4 4
11 4 1
12 4 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.