2017-02-08 49 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