许多具有非标准评估的R函数,例如
对于交互式使用,这非常有效且易于阅读。但是,在编程中,即在一个人的函数中,需要更加小心,通常应避免使用
“参考文献”是2003年的这篇文章。坦白地说,我看不出它的相关性。它在第6节中提到了“数据中的变量可能会意外覆盖局部变量”的观点,但它只是提到了它。就我所知,那篇文章没有告诉你任何警告你检查参考文献时没有告诉你的内容。
我已经搜索了R手册,甚至在3500页的参考索引中搜索了“非标准”一词,但除了我已经提到的内容之外,我没有找到其他任何东西。我真的以为它会在语言定义中,但我已经阅读了整个内容,没有找到它。我最接近的是涵盖
至于任何其他我确信无法找到帮助的地方,我已经从头到尾阅读了R FAQ和R入门指南。 R FAQ仅在几次中提到
那么,R的官方文档中有关于非标准评估危险的官方部分吗?我发现R文档的某些部分会告诉我要小心某些东西,但没有提供任何告诉我如何做到这一点的地方。毫无疑问,需要小心谨慎。例如,Advanced R展示了几种具有非标准评估功能的函数可能会引起问题。我以前曾因此粗心而付出代价,很容易找到优秀答案,其中包含有关非标准评估的警告评论。
with
,subset
和transform
,包含以下警告:对于交互式使用,这非常有效且易于阅读。但是,在编程中,即在一个人的函数中,需要更加小心,通常应避免使用
with()
,因为数据中的变量可能会意外覆盖局部变量,请参见参考文献。(引用自with
的文档,其他信息较少)“参考文献”是2003年的这篇文章。坦白地说,我看不出它的相关性。它在第6节中提到了“数据中的变量可能会意外覆盖局部变量”的观点,但它只是提到了它。就我所知,那篇文章没有告诉你任何警告你检查参考文献时没有告诉你的内容。
我已经搜索了R手册,甚至在3500页的参考索引中搜索了“非标准”一词,但除了我已经提到的内容之外,我没有找到其他任何东西。我真的以为它会在语言定义中,但我已经阅读了整个内容,没有找到它。我最接近的是涵盖
substitute
函数的部分,我知道很多具有非标准评估的函数都依赖于它。至于任何其他我确信无法找到帮助的地方,我已经从头到尾阅读了R FAQ和R入门指南。 R FAQ仅在几次中提到
eval
和substitute
,但与此无关。唯一值得一提的是这里,它还建议检查deriv
的文档,但我在那里找不到有用的内容。那么,R的官方文档中有关于非标准评估危险的官方部分吗?我发现R文档的某些部分会告诉我要小心某些东西,但没有提供任何告诉我如何做到这一点的地方。毫无疑问,需要小心谨慎。例如,Advanced R展示了几种具有非标准评估功能的函数可能会引起问题。我以前曾因此粗心而付出代价,很容易找到优秀答案,其中包含有关非标准评估的警告评论。