在R中使用ts函数创建每个月的时间序列时,每个时间单位的总计似乎不正确.例如,2014年1月的值应该远远大于ts,但输出显示为3(见下文).有人知道我的代码出了什么问题吗?

使用代码:

set.seed(1)
df <- data.frame(date_rec = seq(as.Date("2014-01-01"),as.Date("2015-12-31"), by=1),
                 number = sample(c(1:10),size = 730, replace=TRUE))

df_ts <-  ts(df$number, frequency=12, start=c(2014,1), end=c(2015,12))
df_ts

pdf_ts的结果

    Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2014   3   4   6  10   3   9  10   7   7   1   3   2
2015   7   4   8   5   8  10   4   8  10   3   7   2

推荐答案

另一种 Select 是在ts之前使用aggregate:

library(tidyverse)
# Group by month and aggregate the numbers
monthly_data <- aggregate(number ~ year(date_rec) + month(date_rec), data = df, FUN = sum)

# Create a time series object
ts(monthly_data$number, frequency = 12, start = c(2014, 1))

   year(date_rec) month(date_rec) number
1            2014               1    188
2            2015               1    143
3            2014               2    159
4            2015               2    148
5            2014               3    189
6            2015               3    198
7            2014               4    157
8            2015               4    158
9            2014               5    169
10           2015               5    195
11           2014               6    171
12           2015               6    176
13           2014               7    195
14           2015               7    172
15           2014               8    181
16           2015               8    175
17           2014               9    187
18           2015               9    196
19           2014              10    167
20           2015              10    187
21           2014              11    162
22           2015              11    204
23           2014              12    189
24           2015              12    165

R相关问答推荐

过滤矩阵以获得R中的唯一组合

使用R中的gt对R中的html rmarkdown文件进行条件格式设置表的单元格

基于shiny 应用程序中的日期范围子集xts索引

使用ggplot将平滑线添加到条形图

如何自定义Shapviz图?

用derrr在R中查找组间的重复项

ggplot2中的X轴显示数值,单位为百,而不是十

R for循环返回到先前值

用值序列对行进行子集化,并标识序列开始的列

gganimate在使用shadow_mark选项时不保留所有过go 的标记

如果第一个列表中的元素等于第二个列表的元素,则替换为第三个列表的元素

将嵌套列表子集化为嵌套列表

如何改变时间图R中的悬停信息?

使用rest从header(h2,h3,table)提取分层信息

无法将条件case_when()应用于使用!!创建的新变量Mutations

按组跨多列创建伪变量

在使用SliderInput In Shiny(R)设置输入数据的子集时,保留一些情节痕迹

Broom.Mixed::Augment不适用于Sample::分析

根据用户输入更改标记大小和 colored颜色 (R)

R中的交叉表