Я пытаюсь узнать, как использовать пакет MetRology в R. Я использовал данные в Приложении H.2 руководства GUM в качестве простого примера, чтобы попытаться распространить неопределенность по методу Монте-Карло, включая корреляцию. У меня есть две переменные V и I. Поэтому у меня есть корреляционная матрица 2x2 с корреляцией между I, V в недиагональных элементах. Если я поставлю эту матрицу для функции uncertM C, я получу ошибку: «Ошибка в собственных (Sigma, симметрия c = ИСТИНА): матрица 0 x 0». Если я не включаю матрицу корреляции, я не получаю ошибку. Почему я получаю ошибку, когда включена корреляция? В руководстве по метрологии есть пример с четырьмя переменными и корреляционной матрицей 4x4, которая работает для меня. Есть что-то очевидное, что я делаю не так?
Заранее спасибо!
library(errors) # for gum H.2 dataset
library(metRology) # for uncertMC
#extract relevant data
meanV <- with(GUM.H.2, mean(V))
meanI <- with(GUM.H.2, mean(I))
#uncertainties of the mean as per GUM (over sqrt(N))
uV <- with(GUM.H.2, sd(V)/sqrt(length(V)))
uI <- with(GUM.H.2, sd(I)/sqrt(length(I)))
# correlation between V and I
corIV <- with(GUM.H.2, cor(I,V))
#set up a 2 x 2 correlation matrix
u.cor <- diag(1,2)
# off-diagonal elements
u.cor[1,2] <- u.cor[2,1] <- corIV
#set up inputs for uncertMC
# the expression Z = V/I
expr <- expression(V/I)
x <- list(V= meanV, I= meanI)
u <- list(V=uV, I=uI)
u.MC <- uncertMC(expr = expr, x = x, u = u, cor = u.cor)
#errors with Error in eigen(Sigma, symmetric = TRUE) : 0 x 0 matrix