2017-02-08 48 views
0

我有一個數據框,我想要刪除特定的行,以便我不報告它們,但是我發現即使刪除了行,項目也顯示在報告爲零值。刪除R中的行和標識符

例如,以下內容:

name <- c('a','b','c','d') 
hight <- c('tall','short','tall','short') 
df <- data.frame(name, hight) 
summary(df$hight) 

給我下面的輸出:

short tall 
    2  2 

刪除行後:

delRow<-which(df=='tall', arr.ind=T)[,1] 
df<-df[-delRow,] 
summary(df$hight) 

我得到如下:

short tall 
    2  0 

我怎樣才能擺脫「高」的列?

+3

'彙總(droplevels(DF $高))' –

+0

完美。謝謝韋伯 – Selrac

回答

1
name <- c('a','b','c','d') 
hight <- c('tall','short','tall','short') 
df <- data.frame(name, hight) 

df$hight <- as.character(df$hight) 

delRow<-which(df=='tall', arr.ind=T)[,1] 
df<-df[-delRow,] 
df$hight <- as.factor(df$hight) 
summary(df$hight) 

給我下面的輸出:

short 
    2