R: levels(dataframe) 仍然显示我删除的元素。我的代码有什么问题?

R: levels(dataframe) still shows the element I had removed. What is wrong in my code?

我是 R 编程新手。我想整理 csv 文件中的数据集。我有一个包含多列和多行的 header 文件。我删除了所有包含 NA 的行。接下来,我想删除第一列中具有“未分配”的所有行。这是我到目前为止在 R 中的内容:

#### # Open the file

    data <- read.csv("covid19data.csv", header = TRUE, sep = ",")


#### # Remove all rows that have any number of NA's in them

    na_data <- na.omit(data)
 

#### # Remove rows that have "Unassigned" county name

    tidy_data <- na_data[!(na_data$County.Name=="Unassigned"),]


#### # Check to see if "Unassigned" present in dataframe

    for(row in tidy_data[,1]) {
        if(row == "Unassigned") {
            print("PRESENT")
        }
    }

#### # Check all levels of the county column

    county_names <- levels(tidy_data$County.Name)
    print(county_names)

我尝试使用 for-loop 检查我的数据中是否有任何“未分配”元素,但它没有打印任何内容,所以我假设我没有任何“未分配”元素。

当我 print(county_names) 时,我将“未分配”作为元素之一。我以为我删除了“未分配”,但由于某种原因,当我打印关卡时它仍然出现。

我做错了什么?

谢谢。

我们可以使用 droplevels 删除未使用的级别并重置 levels

tidy_data <- droplevels(tidy_data)