无法打印R中包含月份的历史记录
我的数据框中有一个日期变量无法打印R中包含月份的历史记录,r,date,time-series,histogram,R,Date,Time Series,Histogram,我的数据框中有一个日期变量 > str(gran$Date) Date[1:1368], format: "2014-11-06" "2014-11-05" "2014-11-04" "2014-11-03" "2014-11-02" "2014-11-01" "2014-10-31" ... 当我将直方图打印为: hist(gran$Date, "month") 它不显示每个月。它只显示每年,如下所示 除此之外: 我有一个逻辑变量,如: gran$neg_WS = gran$Ac
> str(gran$Date)
Date[1:1368], format: "2014-11-06" "2014-11-05" "2014-11-04" "2014-11-03" "2014-11-02" "2014-11-01" "2014-10-31" ...
当我将直方图打印为:
hist(gran$Date, "month")
它不显示每个月。它只显示每年,如下所示
除此之外:
我有一个逻辑变量,如:
gran$neg_WS = gran$Act.Rep.WS < 0
我得到以下错误:
> plot(gran$Date[gran$neg_WS], "month")
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' and 'y' lengths differ
我不认为这是正确的,因为长度是相同的,即两个变量的长度都是1368
> length(gran$neg_WS)
[1] 1368
> length(gran$Date)
[1] 1368
有什么解决方案吗?您需要提供一种
格式
来指定R应该如何标记时间轴。这里有一个例子
set.seed(21)
gran <- list(Date = sample(seq(Sys.Date(), by = "months", length.out = 30),
1368, replace = TRUE))
with(gran, hist(Date, breaks = "months", format = "%b %Y", las = 2))
绘图(gran$Date[gran$neg_WS],“month”)的错误是简单的用户错误:
gran$Date[gran$neg_WS]
是长度为227的向量(如果您的评论正确)
“月”
是长度为1的字符向量
您要求plot
对这些变量进行处理,显然它们的长度不同
您的逻辑向量neg_ws
必须与从中形成的数据具有相同的长度。它将是TRUE
和FALSE
值的向量,具体取决于您使用的数据和子句。要查看有多少是TRUE
,请在向量上使用sum()
,该向量使用TRUE==1的约定
其思想是,您可以使用neg_WS
索引数据对象,以便仅提供neg_WS
为TRUE
的日期
set.seed(65)
gran$neg_WS <- runif(1368) < 0.5 # example logical vector
with(gran, hist(Date[neg_WS], breaks = "months", format = "%b %Y", las = 2))
set.seed(65)
gran$neg_WS请提供能够重现错误的最小数据集,请参阅以下提供length(gran$Date[gran$neg_WS])
length(gran$Date[gran$neg_WS])=227我不明白为什么:(请克隆以下repo:example.csv是使用dput()的输出)在数据文件夹中。请使用分析文件夹中的Gran_VS_Portal_ANALYSIS.Rmd获取代码。感谢您的详细回答。
with(gran, hist(Date, breaks = "months", las = 2))
set.seed(65)
gran$neg_WS <- runif(1368) < 0.5 # example logical vector
with(gran, hist(Date[neg_WS], breaks = "months", format = "%b %Y", las = 2))