可以使用 subset 函数,或者 dplyr 包的 filter 函数,具体写法如下:
library(dplyr)
test_df <- data.frame(
name = c('John', 'Lucy', 'Lily', 'Sam', 'Jack'),
job = c('Enginner', 'Unknown', 'Unknown', 'Data Analyst', 'Enginner')
)
test_df
# subset 函数
new_test_df_subset <- subset(test_df, job != 'Unknown')
new_test_df_subset
# filter 函数
new_test_df_filter <- test_df %>%
filter(job != 'Unknown')
new_test_df_filter
运行结果如下:

再拓展一下:
- 删除指定列有空值的行:
# 删除 job 列有空值的行
test_df %>%
filter(!is.na(job))
- 删除所有有空值的行:
test_df %>%
na.omit()
浙公网安备 33010602011771号