我正在尝试为包含 1900 年至 2010 年之间的年份和 R 中每年每个月的输出的数据绘制图表。我需要选择 1950 年至 2001 年之间的年份与 11 月至 2 月之间的月份。如何选择部分数据来绘制此图?因为我是 R 编程或任何编程的新手,所以一个易于理解的示例将有很大帮助。
谢谢 GRV
我不确定你的意思是什么
选择 1950-2001 年与 11 月至 2 月之间的年份
但是下面应该让你开始一个可重现的例子......
#create a vector of months from 1900 through 2010
months <- seq(as.Date("1900/1/1"), as.Date("2010/12/31"), "months")
#assign a random vector of equal length
output <- rnorm(length(months))
#assign both values to a data_frame
data <- data.frame(months = months, output = output)
根据您的描述,您的数据应该类似于数据框,称为data
.
从这里,您可以利用该subset
功能为您提供帮助。第一个示例子集是从 1950 年到 2001 年的数据。下一个示例进一步将该子集限制在 11 月到 2 月的月份。
#subset to just 1950 through 2001
data_sub <- subset(data, months >= as.Date("1950-01-01") & months <= as.Date("2001-12-31"))
#subset the 1950 to 2001 data to just Nov-feb months (i.e. c(11,12,1,2))
data_sub_nf <- subset(data_sub, as.numeric(format(data_sub$months, "%m")) %in% c(11,12,1,2))
您还应该阅读为什么 `[` 比 `subset` 更好?超越subset
。
如前所述,在数据被子集化后,您可以使用plot
或任何其他绘图功能来绘制数据图。