r - R如何匹配数据框以检索元素
问题描述
我有一个包含 5000 行的数据框,其中包含市政数据,我只需要从中提取与特定名称集匹配的行。我正在使用 for 循环通过我的数据框迭代该集合。
这适用于 R 3.6.0
data <- NULL
for (i in mun.names){
data <- area.mun[area.mun[, 1] == i, ]
}
该对象mun.names
包含我需要匹配的城市。该对象area.mun
有两个列( NAME 和 AREA )。两个对象的第一列都有相应格式的市镇名称。
在 for 循环结束时,我生成的对象data
始终只有一个值,即对象的最后一个自治市area.mun
。这是一个简单的错误。我感谢任何形式的反馈。
解决方案
将您的“mun.names”转换为数据框:
mun.names <- data.frame(mun.names)
将列名更改为“NAME”:
colnames(mun.names) <- c(NAME)
将您的“area.mun”转换为数据框:
area.mun <- data.frame(area.mun)
使用合并命令提取匹配的行:
df <- merge(area.mun,mun.names,by.x="NAME",by.y="NAME")
您还可以使用 all.x=TRUE 和 all.y=TRUE 从 mun.names 和 area.mun 数据帧中获取所有不匹配的行
df <- merge(area.mun,mun.names,by.x="NAME",by.y="NAME",all.x=TRUE, all.y=TRUE)
推荐阅读
- python - 从 Pandas 中删除值读取 Excel
- android - 如何找到默认活动类名称?
- python-3.x - 如何在 aws 客户端上设置配置文件
- asp.net-mvc - Azure Devops:用于为不同客户端独立部署单租户 .Net MVC 应用程序的 YAML 管道
- python - rest api - 这是什么返回数据格式?
- crystal-reports - Crystal Reports (Ver 14) - 提取家庭地址中数组的最后一个值
- wordpress - 如何删除具有变量的特定文本字符串
- python - 在 Python 3.8 中 - 如何从 RecycleView 中搜索我的小部件名称
- angular - 从角度对象中删除空 []
- javascript - 识别印度游客的最简单、最轻松的方法是什么?