R语言处理人口普查数据:filter函数过滤返回空表问题排查
R语言筛选人口普查数据返回空表的修复
错误原因
你的filter()函数中错误地使用了带双引号的"Nativity"——这是在判断**字符串"Nativity"**是否属于top.nativity.country列表,而非调用数据框中的Nativity列。显然这个字符串不在目标国家列表里,因此返回空表。
修正代码
# 重命名列 names(nativity.roxbury) <- c("Nativity","Population Estimate", "Marigin of Error") # 定义目标国家列表 top.nativity.country <- c("Dominican Republic", "Cabo Verde","Jamaica","Haiti","Trinidad and Tobago", "Somalia","China") # 修正filter条件,直接引用数据列 nativity.roxbury %>% arrange(desc(`Population Estimate`)) %>% filter(Nativity %in% top.nativity.country)
额外提示
- 如果列名包含空格或特殊字符,需要用反引号
`包裹(比如示例中的Population Estimate);Nativity是常规列名,直接书写即可。 - 若仍有问题,可先执行
colnames(nativity.roxbury)查看列名的实际拼写、大小写,确保和筛选条件中的列名完全匹配。
内容的提问来源于stack exchange,提问作者Kaitlyn Gatza
相关产品推荐
相关产品推荐

