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)
我是 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)