我继承了同事的代码,现在我正在努力解决最近几天出现的一些问题(很遗憾,我没有时间去处理所有代码,我正在以实用的方式处理每个错误尽可能)。特别是,一个bug必须使程序至少与paramaters一起工作(当一个人应该足够时)。
var_pre <- vapply(1:repetitions, function (i) {...}, numeric(parameters))
这个vapply似乎是bug的来源。 vapply中的函数产生n个长度=参数的原子向量(其中n = 重复)。如果参数= 1,则vapply将生成长度为重复的原子向量。
例如,如果参数= 1且重复= 3,则函数将产生[1] 1,[1] 2,[1] 3.并且var_pre将存储
[1] 1 2 3.
但是,如果参数&gt; 1,输出将是矩阵,其行数与参数相同,列数等于重复。
例如,如果参数= 2且重复= 3,则函数将产生[1] 1 2,[1] 3 4,[1] 5 6.并且var_pre将存储矩阵
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
由于在代码中进一步处理了var_pre,因此该问题会破坏程序的整个工作流程。我想以最干净的方式解决这个问题,而不会搞乱这个功能。我必须理解为什么vapply会产生不同类的结果。
对此有解释吗?
编辑:程序稍后使用矩阵形式。因此,当参数= 1且重复= 3时,我需要一个类似
的矩阵 [,1] [,2] [,3]
[1,] 1 2 3