在R中应用矩阵的每一行用于多根

时间:2013-10-10 01:19:32

标签: r

我有amatrix m,它包含三次多项式系数的不同值,我想找到这些三次函数的最大实根。我怎么能在R?中做到这一点?

      m = matrix(c(1, 3, 4, 6, 7, 8, 9, 2, -3, -5, 6, 2), nrow = 3)
      colnames(m) <- c("d", "c", "b", "a")

我想在m矩阵的每一行使用polyroot,我怎样才能在R中执行此操作?

1 个答案:

答案 0 :(得分:1)

这不会是:

apply(m , 1, polyroot)

...当然记住,结果将按列顺序排列。

apply( apply(m, 1,polyroot) , 2, function(x) ifelse( abs(Im(x)) < 0.00001, x,NA))
           [,1]         [,2]          [,3]
[1,]         NA -0.416256-0i -0.4167669+0i
[2,]         NA           NA            NA
[3,] 2.34748+0i           NA            NA