簡體   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