我在“ PLZ”列的一行中有一个带有“#”的数据框。 数据框的str函数给了我
$ PLZ : Factor w/ 1939 levels "#","10115","10117",..: 1
它将“#”显示为该列中数据的级别。
当将所有带有“#”的条目过滤到一个新的数据帧中并为过滤的数据帧调用str函数时,我仍然会在列“ PLZ”中得到一个显示为数据级别的“#”。
filtered_data <-filter(data_frame,PLZ!="#")
str(filtered_data)
'data.frame': 85297 obs. of 25 variables:
...
$ PLZ : Factor w/ 1939 levels "#","10115","10117",..: 647 588 499 499 499 499 499 499 499 499 ...
...
由于已过滤掉“ PLZ”中所有带有“#”的条目,因此我预计str函数输出中没有“#”的级别条目。
对此有解释吗?
答案 0 :(得分:0)
尝试使用droplevels,如下所示:
data_frame <- data.frame(PLZ = as.factor(c("#","10115","10117")))
filtered_data <-filter(data_frame,PLZ!="#") %>% droplevels()
str(filtered_data)