繁体   English   中英

map 上的绘图点,但仅限于特定年份

[英]Plotting points on a map but only by certain year

我在 R 做 GIS 的东西,只想从某些年份获得 plot 积分。 我是否需要超集年份,如果需要,我可以超集年份范围吗? 我不完全确定如何制作一个不需要大量时间的可重现示例 - 它似乎与常规绘图不同。

本质上,我如何才能在 map 上只获得数据帧上的某些点? 子集年?

我的积分设置如下

points(x$longitude,y$latitude)

它绘制所有点,一次只需要几年的范围。 谢谢。

当您使用$运算符时,您正在提取 data.frame x的一列作为向量。 向量可以是传递给方括号的逻辑向量的子集,返回逻辑值为TRUE的第 i 个元素,例如c(TRUE, FALSE, TRUE)传递给c("a", "b", "c")因为c("a", "b", "c")[c(TRUE, FALSE, TRUE)]将返回ac

逻辑向量可以通过逻辑运算自动创建。 主要运营商是

  • ==等于
  • !=不等于
  • >大于
  • <小于
  • >=大于或等于
  • <=小于等于

和运算可以与& (and) 和|结合使用 (或),并且可以使用! (例如!3<4会问三小于四吗?)。

例如, c(1,2,3,4) >= 3将产生FALSE FALSE TRUE TRUE

假设您在x中有一个名为 year 的变量,您的解决方案将类似于:

points(x$longitude[x$year>2005 & x$year<=2010], 
       y$latitude[ x$year>2005 & x$year<=2010)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM