r - Plotting only if values fall into specific range
问题描述
I'm currently working with a dataset of datazones and various factors relating to them in R. I wish to plot certain values from the dataset on a plot, but only if the datazones fall within specific coordinates. I've currently got this code, but to no avail:
if (datazones2$lon >= -4.327355 && datazones2$lon <= 4.275699
&& datazones2$lat >= 55.87163 && datazones2$lat <= 55.89725){
plot(datazones2$distance, datazones2$AverageMortalityRates.2014,
ylab = "Average Relative Mortality 2014-2017", xlab= "distance", main=heading)
lines(datazones2$distance, datazones2$AverageMortalityRates.2014, type="b")
}
I thought a simple if statement would work, but I'm new to R. Any help on how to get it to plot within these conditions?
Thanks!
解决方案
不是很优雅,但这应该可以。
GoodPoints = which(datazones2$lon >= -4.327355 && datazones2$lon <= 4.275699 &&
datazones2$lat >= 55.87163 && datazones2$lat <= 55.89725)
plot(datazones2$distance[GoodPoints], datazones2$AverageMortalityRates.2014[GoodPoints],
ylab = "Average Relative Mortality 2014-2017", xlab= "distance", main=heading)
lines(datazones2$distance[GoodPoints], datazones2$AverageMortalityRates.2014[GoodPoints],
type="b")
推荐阅读
- c++ - QQuickView 新删除类型不匹配
- ios - 何时使用容器视图控制器?与ios中的普通视图相比,它在内存管理方面有什么优势吗
- rundeck - 如何在 Rundeck Web UI 上终止作业时优雅地停止作业执行?
- javascript - 使用 util.inspect 检查深度对象相等性的优缺点
- .net - 获取每个部门的总数
- sql-server - SQL Server 复制之谜
- ios - 无法解释 Arkit 测量 IOS 应用程序中的点云行为
- search - Marklogic 查询管理器搜索以返回特定元素而不是整个文档
- r - 如何在 r ggplot 中为 dotplot 选择正确的参数
- maven - 为 Liferay 手动创建可部署的 JAR