在 R 中:如何在不循环的情况下对矩阵的元素执行对数

发布于 2024-10-07 15:09:38 字数 390 浏览 0 评论 0原文

在 R 中:如何在不使用循环的情况下对矩阵的每个元素执行对数运算?

我有一个矩阵 m,我希望每个元素都被它的对数替换。 log(m) 不起作用。

params = array(list(),c(2, 2))

然后我手动设置所有元素。

params

[,1] [,2]

[1,]3 3

[2,]3 3

log(params)

log(params) 中的错误:数学函数的非数字参数

In R: How do I perform a log operation on every element of a matrix without using a loop?

I have a matrix m and I want each element to be replaced by its log.
log(m) doesn't work.

params = array(list(),c(2, 2))

then I manually set all elements.

params

[,1] [,2]

[1,] 3 3

[2,] 3 3

log(params)

Error in log(params) : Non-numeric argument to mathematical function

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

吃兔兔 2024-10-14 15:09:38

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 吗?

log(M) works for all of us on correct matrices:

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> 

Can you show us your M ?

丢了幸福的猪 2024-10-14 15:09:38

你未能制作矩阵——这样你就有了一个列表矩阵,而你想要一个数字矩阵。
试试这个:

params<-array(3,c(2,2))
log(params)

You failed at making matrix -- this way you have a matrix of lists, and you want a matrix of numbers.
Try this:

params<-array(3,c(2,2))
log(params)
恋竹姑娘 2024-10-14 15:09:38

现在假设某些矩阵单元中有 0。此外,假设您希望此类单元格的输出中出现 0。

您现在将如何计算解决方案?

请注意,log(0) 不是一个好数字。

Now assume there is a 0 in some matrix cells. Furthermore, assume you want a 0 to appear in the output for such cells.

How would you compute the solution now?

Notice that log(0) is not a nice number.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文