删除r

时间:2015-07-17 23:13:55

标签: r

在SAS中,可以通过简单的if语句删除观察。例如,如果我想删除Year =#的行。我可以写:

If year == "#" then delete; 

r中有相同的方式吗?我试过这个:

 DF<- DF[!(DF$Year == "#"),]

R中的数据集:

Year        Month
#           June
#           July 
#           August
2015        August

但是当我运行DF $ year时,当我认为它会被滤除时,我仍然会将#作为因子水平?

1 个答案:

答案 0 :(得分:3)

你做得对。它仍然是一个因子级别,并不意味着它实际存在于向量DF$year中。如果您需要使用droplevels或再次使用系数DF$year <- factor(DF$year)

,则可以降低额外因子级别

如果您需要将带有数字标签的因子转换为数字向量,可以使用:

as.numeric( ## convert to numeric as expected
  as.character( ## because factors are numbers with labels
    your_factor 
    )
  )
)