Есть ли способ нарезать столбец для треугольника потерь ChainLadder в R? - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь нарезать столбец для треугольника потерь ChainLadder в R.

Я пытался использовать функцию выбора / фильтрации, но она выдала мне эту ошибку.

Error in UseMethod("select_") : no applicable method for 'select_' applied to an object of class "c('triangle', 'matrix')"
Error in UseMethod("filter_") : no applicable method for 'filter_' applied to an object of class "c('triangle', 'matrix')"

Ниже Вот примеры кодов:

# ChainLadder package is required.
library(ChainLadder)

df <- data.frame(Month = c("2019-10-01", "2019-10-01", "2019-10-01", "2019-10-01", 
                           "2019-11-01", "2019-11-01", "2019-11-01", 
                           "2019-12-01", "2019-12-01", 
                           "2020-01-01"),
                 T = c(1, 2, 3, 4, 1, 2, 3, 1, 2, 1),
                 value = c(100, 160, 220, 250, 100, 200, 250, 120, 150, 110))

df_Triangle <- as.triangle(df,
                           origin = "Month",
                           dev = "T",
                           value = "value")
df_Triangle

## The code below won't work on a triangle.
# df_Triangle %>% select(Month, 1, 2)
# df_Triangle %>% filter(T %in% c(1,2))

Вывод моего треугольника:

enter image description here

Вывод моего желания:

enter image description here

Спасибо.

1 Ответ

0 голосов
/ 26 февраля 2020

Я совсем не знаком со структурами данных, необходимыми для пакета ChainLadder, но из некоторых подходов, основанных на попытках и ошибках, я вижу, что то, что в вашей области называется треугольником, на самом деле является матрицей в R. затем пытаясь использовать в матрице dplyr глаголов, таких как select и filter, что не удастся - они ожидают фрейм данных.

Но индексирование матрицы в R просто, вы пробовали это? :

# Select matrix columns 1 and 2
df_Triangle[, 1:2]

или

# create a vector of column indices you want to use for selection/filtering.   
# It seems that the column names of the triangle are the values of T
t_index <- colnames(df_Triangle) %in% c("1", "2")
# apply the vector of indices
df_Triangle[, t_index]
#             T
# Month          1   2
#   2019-10-01 100 160
#   2019-11-01 100 200
#   2019-12-01 120 150
#   2020-01-01 110  NA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...