Мне приходится работать с объектами big.matrix, и я не могу вычислять некоторые функции. Рассмотрим следующую большую матрицу:
# create big.matrix object
x <- as.big.matrix(
matrix( sample(1:10, 20, replace=TRUE), 5, 4,
dimnames=list( NULL, c("a", "b", "c", "d")) ) )
> x
An object of class "big.matrix"
Slot "address":
<pointer: 0x00000000141beee0>
Соответствующий матричный объект:
# create matrix object
x2<-x[,]
> x2
a b c d
[1,] 6 9 5 3
[2,] 3 6 10 8
[3,] 7 1 2 8
[4,] 7 8 4 10
[5,] 6 3 6 4
Если я вычисляю эти операции с матричным объектом, он работает:
sqrt(slam::col_sums(x2*x2))
> sqrt(slam::col_sums(x2*x2))
a b c d
13.37909 13.82027 13.45362 15.90597
Если я использую объект big.matrix (фактически то, что мне нужно), он не работает:
sqrt(biganalytics::colsum(x*x))
Проблемы 2: операция * (для создания квадрата каждого элемента матрицы), которая вызывает ошибку:
Ошибка в x * x: нечисловой аргумент преобразован в бинарный оператор
и функция sqrt, которая выдает ошибку:
Ошибка в sqrt (x): нечисловой аргумент математической функции.
Как я могу вычислить эти операции с объектами big.matrix?