我是R的新手,我正在尝试做功课。我看了很多地方,我找不到任何关于如何制作包含功能的matricies的说明。我需要我的矩阵[A]在其中包含cos(x)和sin(x)等函数,然后我需要能够计算[A(o度)]或[A(30度)]等等。有没有办法做到这一点?谢谢你的帮助
答案 0 :(得分:1)
这是将函数存储在矩阵中的另一种方法:
M <- matrix( c( function(x) {cos(x)},
function(x) {sin(x)},
function(x) {tan(x)},
function(x) {asin(x)}),
2,2)
M[1,1]
#-------
[[1]]
function (x)
{
cos(x)
}
要访问每个列表的内容(从矩阵对象中提取后),您需要使用[[
,然后它可以用作函数:
M[1,1][[1]](pi)
#[1] -1
Scriven的建议同样有效,而且肯定更经济:
> M2 <- matrix( c(cos, sin, tan, asin), 2,2)
> M2
[,1] [,2]
[1,] ? ?
[2,] ? ?
> M2[1,1][[1]](pi)
[1] -1
> class(M2[1,1])
[1] "list"
> class(M2[1,1][[1]])
[1] "function"