2016-08-16 6 views
-1

У меня есть матрица расходов, которую я хотел бы скидки в соответствии со ставкой дисконта, х. Каждый столбец является уникальным заболеванием, и каждый ряд является уникальным годом. В настоящее время я работаю от этого кода:R: Дисконтирование матрицы издержек

((medexpCommercial)/((1 + dr)^as.integer(rownames(medexpCommercial)))) 

Я использовал as.integer(rownames(medexpCommercial) как попытку получить номер индекса строки. Кто-нибудь знает о другом методе, который я могу использовать, чтобы получить номер индекса строки для использования в уравнении дисконтирования? Или другого метода, чтобы учесть затраты в моей матрице?

ответ

1

Не используйте

as.integer(rownames(medexpCommercial)) 

использование

seq_len(nrow(medexp‌​Commercial)) 

Последние всегда работает, в то время как первый глючит. Что делать, если у вас есть имена строк, такие как «A», «B», «C»? Даже если у вас есть имена строк, такие как «1», «3», «2», но посмотрите, они не отсортированы (это особенно верно после некоторого переупорядочения строки вашего кадра данных).

+0

Поскольку они работают с матрицей, 'row (m)', может быть другой вариант вместо утилизации, например 'm/(1 + dr)^row (m)' – Frank

 Смежные вопросы

  • Нет связанных вопросов^_^