在SAS中,可以通过简单的if语句删除观察。例如,如果我想删除Year =#的行。我可以写:
If year == "#" then delete;
r中有相同的方式吗?我试过这个:
DF<- DF[!(DF$Year == "#"),]
R中的数据集:
Year Month
# June
# July
# August
2015 August
但是当我运行DF $ year时,当我认为它会被滤除时,我仍然会将#作为因子水平?
答案 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
)
)
)