簡體   English   中英

從R中的數據框中刪除特定類別

[英]Removing a particular category from a data frame in R

我在R的數據框中只有一列,看起來像這樣:

blue
green
blue
yellow
black
blue
green

如何刪除所有表示藍色的行? 請記住,我不要在該行中表示NULL值:我希望刪除整個行。

謝謝 :)

也要注意因子變量特征向量之間的差異。

默認情況下,因子保留所有原始級別,除非您將更改后的向量重新分配為新因子,或使用其中一種重新級別函數。

> DF <- data.frame(v = factor(c("red", "blue", "green", "blue")))
> summary(DF)
     v    
 blue :2  
 green:1  
 red  :1  
> summary(DF[ DF$v != "blue", , drop=FALSE])
     v    
 blue :0  
 green:1  
 red  :1  
> DF <- DF[ DF$v != "blue", , drop=FALSE]; DF$v <- factor(DF$v); summary(DF)
     v    
 green:1  
 red  :1  
> 

關於什么

> df1 = data.frame(a=c("Red", "Blue", "Red"), b=1:3)
> df1[df1$a!= "Blue",]
    a b
1 Red 1
3 Red 3

如果所有這些方括號,逗號和美元符號使您感到困惑,那么為什么不嘗試使用“子集”:

> d=data.frame(a=c("Red", "Blue", "Red"), b=1:3)
> subset(d,a!="Blue")
    a b
1 Red 1
3 Red 3
> Data[Data!="blue"]
[1] "green"  "yellow" "black"  "green"

要么

> Data[which(Data!="blue",TRUE)]
[1] "green"  "yellow" "black"  "green"

編輯以回應Joris的評論(這適用於1列data.frames):

> str(Data)
'data.frame':   7 obs. of  1 variable:
 $ V1: Factor w/ 4 levels "black","blue",..: 2 3 2 4 1 2 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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