繁体   English   中英

自定义R中的现有功能

[英]Customize existing function in R

我想在R中的函数psych::polychoric中更改条件。具体地说,我想将代码77行上aa变量的不同实现的限制从8增加到10。 我可以通过致电手动增加限额

trace(polychoric, edit=TRUE)

由于该脚本旨在用于我的论文的复制,因此我希望通过避免手动编辑来使处理尽可能平滑。 有没有一种方法可以通过片段代码来编辑功能,例如用另一个函数将代码中的if (nvalues > 8)替换为if (nvalues > 10)

任何建议将不胜感激。

在要更改的函数中找到位置

as.list(body(psych::polychoric))

改变功能

trace(psych::polychoric, quote(nvalues > 10), at=11)

检查您是否更改了要更改的内容

trace(psych::polychoric, edit=TRUE)

将功能设置回原始

untrace(psych::polychoric)

-----

似乎fix可能更容易实现此任务

fix(polychoric)

打开一个窗格,您可以在其中更改代码-更改并单击保存。

这将使该函数在全局环境中本地化,您可以通过查看原始函数trace(polychoric, edit = T)来显示nvalues > 10 ,而trace(psych::polychoric, edit = T)将显示nvalues > 8 下次重新加载psych ,将使用原始功能。 有点手动破解-但希望能解决这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM