簡體   English   中英

R中的subset.data.frame

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM