Я читаю инструкции пакета Matrix в R. Но я не мог понять аргумент p
в функции:
sparseMatrix(i = ep, j = ep, p, x, dims, dimnames,
symmetric = FALSE, index1 = TRUE,
giveCsparse = TRUE, check = TRUE)
Согласно http://stat.ethz.ch/R-manual/R-devel/library/Matrix/html/sparseMatrix.html
p: числовой (целочисленный) вектор указателей, по одному для каждого столбца (или строки), на начальный (отсчитываемый от нуля) индекс элементов в столбце (или строке). Должно быть пропущено ровно одно из i, j или p.
Я решил, что p
предназначен для сжатого представления индексов строки или столбца, потому что нецелесообразно иметь несколько элементов в i
или j
, чтобы иметь одно и то же значение для представления одной строки / столбца. Но когда я попробовал приведенный пример, я все еще не мог понять, как p
контролирует, какой элемент x
переходит к какой строке / столбцу.
dn <- list(LETTERS[1:3], letters[1:5])
## pointer vectors can be used, and the (i,x) slots are sorted if necessary:
m <- sparseMatrix(i = c(3,1, 3:2, 2:1), p= c(0:2, 4,4,6), x = 1:6, dimnames = dn)