В R: Как мне выполнить запись в журнал для каждого элемента матрицы без использования цикла?
У меня есть матрица m, и я хочу, чтобы каждый элемент был заменен ее журналом.log (m) не работает.
params = array(list(),c(2, 2))
, тогда я вручную устанавливаю все элементы.
params
[, 1] [, 2] [1,] 3 3 [2,] 3 3
[, 1] [, 2]
[1,] 3 3
[2,] 3 3
log(params)
Ошибка в журнале (параметры): нечисловой аргумент математической функции
log(M) работает для всех нас на правильных матрицах:
log(M)
R> M <- matrix(1:4,2) R> M [,1] [,2] [1,] 1 3 [2,] 2 4 R> log(M) [,1] [,2] [1,] 0.00000 1.0986 [2,] 0.69315 1.3863 R>
Можете ли вы показать нам свой M?
M
Вам не удалось создать матрицу - таким образом, у вас есть матрица списков, и вы хотите матрицу чисел. Попробуйте это:
params<-array(3,c(2,2)) log(params)
Теперь предположим, что в некоторых ячейках матрицы есть 0. Кроме того, предположим, что вы хотите, чтобы в выходных данных таких ячеек отображался 0
Как бы вы вычислили решение сейчас?
Обратите внимание, что log (0) не является хорошим числом.