如何修改R中的预定义功能?

时间:2018-09-19 11:34:18

标签: r

可以使用功能A修改预定义功能fix(A)。但是应该做些什么来修改预定义函数B,该函数在R中的预定义函数A内部被称为。

但是我可以在代码选项卡中看到功能B的功能定义。

enter image description here

1 个答案:

答案 0 :(得分:0)

鉴于您在注释中提供的额外详细信息,在这种情况下似乎功能// Save all records in csvReader into a list. List<String[]> allRecords = new ArrayList<>(); while ((String[] record = csvReader.readNext()) != null) allRecords.add(record); 尚不存在;从“详细信息”下的帮助文件中(可通过while ((nextPM = csvReader2.readNext()) != null) { System.out.println(nextPM[0]); for (String[] nextRecord : allRecords) { System.out.println(nextRecord[0] + "asd"); if(nextRecord[0].equals(nextPM[0])) { System.out.println(nextRecord[0] + " " + nextRecord[1] + " " + nextPM[2]); } } } 访问):

B

因此,如果我在全新的R会话中运行help("fix")(即,作为我在空的全局环境中的第一个命令),就会看到以下内容:

 The name supplied as ‘x’ need not exist as an R object, in which
 case a function with no arguments and an empty body is supplied
 for editing.

这听起来像是您经历过的。至于为什么 fix(B)正在调用一个不存在的函数,我们不能在没有更多信息的情况下说。

更新(注释中的解决方法)

user2554330在评论中指出,这是一个范围界定问题(OP确认user2554330的添加已解决了他们的问题),可以通过

解决
function()
{
}