Cho một ts hàng tháng đối tượng như thế này:Tính trung bình hàng tháng của ts đối tượng
dat <- ts(c(295, 286, 300, 278, 272, 268, 308, 321, 313, 308, 291, 296,
294, 273, 300, 271, 282, 285, 318, 323, 313, 311, 291, 293, 297,
273, 294, 259, 276, 294, 316, 325, 315, 312, 292, 301), frequency = 12)
Làm thế nào tôi có thể tính toán trung bình theo tháng? tức là tôi muốn tính mức trung bình của tháng 1, năm1 + tháng 1, năm2 + tháng 1, năm 3 ... v.v. và sau đó có thể so sánh với tháng 2 ...
Một cách tiếp cận mà tôi nghĩ là biến nó thành ma trận 12 cột và sử dụng colMeans()
, nhưng tôi tưởng tượng có một cách tốt hơn để tận dụng khía cạnh time()
đối tượng ts()
?
colMeans(matrix(dat, ncol = 12, byrow = TRUE))
Tháng '1',' 2', '3', ... chúng có đề cập đến Jan, Feb, Mar ...? Nói cách khác, thứ tự tiếp theo là 'tapply' khi nó trả về giá trị trung bình là gì? – FaCoffee
@FaCoffee - trong ngắn hạn, có. Kiểm tra 'cycle (dat)' để xem nó đang làm gì dưới mui xe và '? Cycle' nữa. – Chase