R中的不一致函数描述



我制作了一个增广系数矩阵函数来求解线性方程组,并且我在使用deparse()函数对R中的函数进行离散时遇到了一些不一致的问题。

输入:

yield4 <- function(x1,x2,x3,x4,x5) 153.7 * x1 + 94.2 * x2 + 79.5 * x3 + 200 * x4 + 200 * x5 + -298.3
yield5 <- function(x1,x2,x3,x4,x5) 144.2 * x1 + 91.5 * x2 + 78.2 * x3 + 137.3 * x4 + 200 * x5 + -288.7
deparse(yield4)
deparse(yield5)

输出:

> deparse(yield4)
[1] "function (x1, x2, x3, x4, x5) "                                   
[2] "153.7 * x1 + 94.2 * x2 + 79.5 * x3 + 200 * x4 + 200 * x5 + -298.3"
> deparse(yield5)
[1] "function (x1, x2, x3, x4, x5) "                               
[2] "144.2 * x1 + 91.5 * x2 + 78.2 * x3 + 137.3 * x4 + 200 * x5 + "
[3] "    -288.7" 

正如您所看到的,每当我运行该脚本时,出于某种原因,departingyield5返回一个由3个元素组成的字符,其中departingotherfunctions只会产生2个元素。这打破了我为AugCoeffMatrix创建的程序。有人知道R为什么这么做吗?

我已经尝试过以下操作:

  • 重写函数(相同问题(
  • 更改函数名称(相同问题(
  • 删除了所有功能空间(相同问题(
  • 添加大括号(相同问题(
  • 更改常数值(相同问题(
  • 更改了最后一个符号运算符(相同问题(

编辑:将函数参数的宽度上限调整为更高的整数值解决了此问题。

尝试deparse1(R 4.0+(:

deparse1(yield4)
## [1] "function (x1, x2, x3, x4, x5)  153.7 * x1 + 94.2 * x2 + 79.5 * x3 + 200 * x4 + 200 * x5 + -298.3"
deparse1(yield5)
## [1] "function (x1, x2, x3, x4, x5)  144.2 * x1 + 91.5 * x2 + 78.2 * x3 + 137.3 * x4 + 200 * x5 + -288.7"

最新更新