Понимание поведения try в R

Я пытаюсь убрать сезонность из большого количества серий и использую сезонный пакет с X13 SEATS. Однако, когда я оборачиваю функцию seas с помощью try, я получаю совсем другой / неправильный вывод. Мне нужен try, чтобы учитывать, когда X13 выходит из строя.

Есть идеи, как двигаться дальше?

Правильное поведение:

test%>% 
  group_by_("WAGES","GEO", param)  %>% 
  nest() %>% 
  mutate(
    sa = map(data, 
             ~ts( .x$sum.VALUE,
                  start = c(year(min(.x$NEW_DATE)), month(min(.x$NEW_DATE))),
                  frequency = 12) %>%
               seas(transform.function = "none", na.action=na.exclude) %>%
               as.tibble() 
             )
  ) %>%
  unnest() %>%
  head()


# A tibble: 6 x 6
  WAGES GEO   TYPE.OF.WORK NEW_DATE   sum.VALUE     x
  <chr> <chr> <chr>        <date>         <dbl> <dbl>
1 B     A     C            1997-01-01     2943. 2943.
2 B     A     C            1997-02-01     2967. 2967.
3 B     A     C            1997-03-01     2918. 2918.
4 B     A     C            1997-04-01     2887. 2887.
5 B     A     C            1997-05-01     2996. 2996.
6 B     A     C            1997-06-01     2952. 2952.

Странное поведение:

test%>% 
  group_by_("WAGES","GEO", param)  %>% 
  nest() %>% 
  mutate(
    sa = map(data, 
             ~ts( .x$sum.VALUE,
                  start = c(year(min(.x$NEW_DATE)), month(min(.x$NEW_DATE))),
                  frequency = 12) %>%
               try(seas(transform.function = "none", na.action=na.exclude)) %>%
               as.tibble() 
             )
  ) %>%
  unnest() %>%
  head()

# A tibble: 6 x 6
  WAGES GEO   TYPE.OF.WORK NEW_DATE   sum.VALUE     x
  <chr> <chr> <chr>        <date>         <dbl> <dbl>
1 B     A     C            1997-01-01     2943. 2943.
2 B     A     C            1997-02-01     2967. 2967.
3 B     A     C            1997-03-01     2918. 2918.
4 B     A     C            1997-04-01     2887. 2887.
5 B     A     C            1997-05-01     2996. 2996.
6 B     A     C            1997-06-01     2952. 2952.

ДАННЫЕ

> dput(test)
structure(list(GEO = c("A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A"), WAGES = c("B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B"), TYPE.OF.WORK = c("C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C"), 
    NEW_DATE = structure(c(9862, 9893, 9921, 9952, 9982, 10013, 
    10043, 10074, 10105, 10135, 10166, 10196, 10227, 10258, 10286, 
    10317, 10347, 10378, 10408, 10439, 10470, 10500, 10531, 10561, 
    10592, 10623, 10651, 10682, 10712, 10743, 10773, 10804, 10835, 
    10865, 10896, 10926, 10957, 10988, 11017, 11048, 11078, 11109, 
    11139, 11170, 11201, 11231, 11262, 11292, 11323, 11354, 11382, 
    11413, 11443, 11474, 11504, 11535, 11566, 11596, 11627, 11657, 
    11688, 11719, 11747, 11778, 11808, 11839, 11869, 11900, 11931, 
    11961, 11992, 12022, 12053, 12084, 12112, 12143, 12173, 12204, 
    12234, 12265, 12296, 12326, 12357, 12387, 12418, 12449, 12478, 
    12509, 12539, 12570, 12600, 12631, 12662, 12692, 12723, 12753, 
    12784, 12815, 12843, 12874, 12904, 12935, 12965, 12996, 13027, 
    13057, 13088, 13118, 13149, 13180, 13208, 13239, 13269, 13300, 
    13330, 13361, 13392, 13422, 13453, 13483, 13514, 13545, 13573, 
    13604, 13634, 13665, 13695, 13726, 13757, 13787, 13818, 13848, 
    13879, 13910, 13939, 13970, 14000, 14031, 14061, 14092, 14123, 
    14153, 14184, 14214, 14245, 14276, 14304, 14335, 14365, 14396, 
    14426, 14457, 14488, 14518, 14549, 14579, 14610, 14641, 14669, 
    14700, 14730, 14761, 14791, 14822, 14853, 14883, 14914, 14944, 
    14975, 15006, 15034, 15065, 15095, 15126, 15156, 15187, 15218, 
    15248, 15279, 15309, 15340, 15371, 15400, 15431, 15461, 15492, 
    15522, 15553, 15584, 15614, 15645, 15675, 15706, 15737, 15765, 
    15796, 15826, 15857, 15887, 15918, 15949, 15979, 16010, 16040, 
    16071, 16102, 16130, 16161, 16191, 16222, 16252, 16283, 16314, 
    16344, 16375, 16405, 16436, 16467, 16495, 16526, 16556, 16587, 
    16617, 16648, 16679, 16709, 16740, 16770, 16801, 16832, 16861, 
    16892, 16922, 16953, 16983, 17014, 17045, 17075, 17106, 17136, 
    17167, 17198, 17226, 17257, 17287, 17318, 17348, 17379, 17410, 
    17440, 17471, 17501, 17532, 17563, 17591, 17622, 17652, 17683, 
    17713, 17744), class = "Date"), sum.VALUE = c(2942.79, 2966.87, 
    2917.65, 2886.7, 2996.36, 2951.9, 2886.96, 2875.52, 2891.09, 
    2857.64, 2857.19, 2938.29, 2916.43, 2950.59, 2944.06, 3042.12, 
    3020.7, 3070.28, 3146.64, 3115.46, 3051.2, 3054.67, 3096.26, 
    2998.87, 3107.29, 3138.41, 3117.86, 3161.73, 3149.02, 3177.42, 
    3137.76, 3261.84, 3106.48, 3137.77, 3105.52, 3142.32, 3247.22, 
    3248.63, 3252.82, 3280.65, 3313.76, 3245.07, 3166.89, 3240.5, 
    3242.17, 3295.03, 3308.48, 3371.51, 3365.83, 3411.71, 3417.11, 
    3427.45, 3460.72, 3475.9, 3490.49, 3458, 3532.22, 3570.26, 
    3541.26, 3612.36, 3459.7, 3523.97, 3571.65, 3640.84, 3615.73, 
    3654.52, 3629.03, 3687.52, 3757.01, 3723.74, 3724.37, 3701.46, 
    3780, 3794.06, 3848.25, 3777.4, 3763.98, 3822.27, 3728.23, 
    3721.93, 3810.86, 3866.44, 3768.33, 3732.14, 3763.74, 3728.01, 
    3759.04, 3818.27, 3901.36, 3974.64, 3822.89, 3900.47, 3877.12, 
    3941.25, 3992.6, 3890.61, 4070.44, 3991.31, 4057.15, 4042.89, 
    4081.62, 4124.09, 4100.03, 4104.25, 4152.81, 4184.22, 4191.78, 
    4335.11, 4428.65, 4453.45, 4459.03, 4407.08, 4435.67, 4425.71, 
    4430.47, 4509.67, 4517.91, 4515.04, 4643.59, 4717.82, 4662.64, 
    4649.25, 4600.51, 4675.07, 4697.62, 4757.74, 4773.4, 4744.1, 
    4857.38, 4837.44, 4967.31, 5052.1, 5061.4, 4950.29, 4915.1, 
    4923.38, 4960.42, 4887.15, 4937.85, 4963.6, 5116.15, 5114.9, 
    5150.8, 5150.82, 5261.63, 5130.35, 5213.73, 5299.9, 5418.23, 
    5422.04, 5218.62, 5230.13, 5225.52, 5244.1, 5186.85, 5320.53, 
    5468.49, 5364.93, 5306.77, 5371.19, 5424.5, 5390.56, 5374.57, 
    5478.07, 5320.84, 5213.12, 5317.83, 5273.84, 5199.13, 5309.82, 
    5296.64, 5241.29, 5408.55, 5462.32, 5429.53, 5468.51, 5475.63, 
    5467.46, 5628.65, 5629.16, 5579.87, 5658.13, 5548.71, 5614.89, 
    5674.22, 5743.01, 5656.38, 5691.82, 5829.81, 5756.8, 5898.06, 
    5773.46, 5913.27, 5894.29, 5883.03, 5778.02, 5891.21, 5854.83, 
    5869.7, 5873.28, 6144.47, 6067.37, 5965.27, 5958.77, 5994.6, 
    6025.06, 5976.58, 5997.73, 6069.14, 5969.32, 5969.05, 6054.59, 
    6067.95, 6074.01, 6060.74, 6069.58, 6176.02, 6081.7, 6040.36, 
    6138.42, 6185.58, 6165.99, 6297.46, 6150.29, 6264.32, 6374.1, 
    6284.27, 6308.03, 6228.47, 6363.61, 6387.65, 6378.08, 6463.29, 
    6410.47, 6288.4, 6171.26, 6399.54, 6299.71, 6320.09, 6353.56, 
    6247.33, 6204.12, 6399.19, 6087.1, 6326.06, 6322.25, 6377.29, 
    6415.95, 6480.69, 6483.07, 6406.39, 6391.18, 6267.62, 6532.64, 
    6483.3, 6464.72, 6577.79, 6518.49, 6620.3, 6431.73)), row.names = c(NA, 
-260L), vars = c("GEO", "WAGES", "TYPE.OF.WORK"), drop = TRUE, indices = list(
    0:259), group_sizes = 260L, biggest_group_size = 260L, labels = structure(list(
    GEO = "Alberta", WAGES = "Average hourly wage rate", TYPE.OF.WORK = "Full-time employees"), class = "data.frame", row.names = c(NA, 
-1L), vars = c("GEO", "WAGES", "TYPE.OF.WORK"), drop = TRUE), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame"))

Можете ли вы попробовать, поместив в {}. Невозможно протестировать его, не указав все используемые вами пакеты. И что такое param?

akrun 26.10.2018 22:14

Я забыл определить это, но param <- "TYPE.OF.WORK". Я не уверен, что понимаю, что вы имеете в виду под {}

Jrakru56 26.10.2018 22:23
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
31
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Можно было бы использовать safely или possibly, завершающие функцию seas.

posSea <- possibly(seas, otherwise = NA)
out <- test%>% 
            group_by_("WAGES","GEO", param)  %>% 
            nest() %>% 
            mutate(
              sa = map(data, 
             ~ts( .x$sum.VALUE,
                  start = c(year(min(.x$NEW_DATE)), month(min(.x$NEW_DATE))),
                  frequency = 12) %>%
                  posSea(transform.function = "none", na.action=na.exclude)%>%
               as.tibble() 
             )
  ) %>%
  unnest() %>%
  head()

Я новичок в R. В чем преимущество использования safely перед try?

Jrakru56 29.10.2018 14:30
Ответ принят как подходящий

Я узнал, почему код не работает.

try имел правильное поведение - в том смысле, что мой код не падал из-за ошибки, - но seas из пакета seasonal выдает разные результаты в зависимости от того, успешно он или нет. По этой причине as.tibble затем приводит только общие столбцы и, в моем случае, возвращает только один столбец.

Другие вопросы по теме