0

我正在尝试为包含 1900 年至 2010 年之间的年份和 R 中每年每个月的输出的数据绘制图表。我需要选择 1950 年至 2001 年之间的年份与 11 月至 2 月之间的月份。如何选择部分数据来绘制此图?因为我是 R 编程或任何编程的新手,所以一个易于理解的示例将有很大帮助。

谢谢 GRV

4

1 回答 1

1

我不确定你的意思是什么

选择 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或任何其他绘图功能来绘制数据图。

于 2013-10-28T13:18:01.837 回答