如何在“R”中将“language”转换为“numeric”?

时间:2017-02-05 15:38:36

标签: r

美好的一天。我正在尝试检查函数是否具有最小值。

为此我使用衍生物和Hessian矩阵。

问题是衍生品存储在“语言”类型中,而我需要“数字”。

例如,我使用

der_x1 <- D(expression(3 + 2 * x_1 + 3 * x_2 + 2 * (x_1)^2 + 2 * x_1 * x_2 + 6 * (x_2)^2), "x_1")
der_x1x1 <- D(der_x1, "x_1")

获取der_x1x1 = 2 * 2

typeof(der_x1x1)返回“language”。

但是为了找到Hessian矩阵的行列式,我需要R将2 * 2简化为4并将其转换为数字。

如果我尝试as.numeric(der_x1x1),我会得到Error: 'pairlist' object cannot be coerced to type 'double'

1 个答案:

答案 0 :(得分:1)

尝试以下代码:

 eval(der_x1x1)
 x_1 <- 1
 x_2 <- 1
 eval(der_x1)