作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 semTools::compareFit
比较熔岩物体.它抛出一个非常奇怪的错误消息。
我还尝试了以下可重现的示例:
data("HolzingerSwineford1939",package="lavaan")
HS.modelA <- ' visual =~ x1 + x2 + x3
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9'
HS.modelB<- ' visual =~ x1 + x2
textual =~ x4 + x5 + x6
speed =~ x7 + x8 + x9'
fit.A<- cfa(HS.modelA, data = HolzingerSwineford1939)
fit.B<- cfa(HS.modelB, data = HolzingerSwineford1939)
semTools::compareFit(fit.A,fit.B)
它返回:
Error in getMethod("summary", signature = "FitDiff") : no method found for function 'summary' and signature FitDiff
result<-semTools::compareFit(fit.A,fit.B)
semTools::saveFile(result, file="",what="summary", tableFormat=FALSE)
这返回
Length Class Mode
1 FitDiff S4
summary
相关的内容和方法...我有一些 S3
summary
方法,试图在一个包中正式化供个人使用......不确定它是否相关......我是否可能搞砸了什么?
最佳答案
我在这里报告我如何规避这个问题。
这里发生的事情的结论:
这确实是 S3 方法扰乱 S4 方法调度的问题。
如果我加载 showMethods(summary)
在加载 semTools 包之前,我得到:
Function "summary":
<not an S4 generic function>)
但是如果我加载
showMethods(summary)
加载后,我得到:
Function: summary (package base)
object="ANY"
object="FitDiff"
(inherited from: object="ANY")
object="lavaan"
object="lavaanList"
object="mle"
所以,解决办法:
FitDiff
对象结构,我创建了一个
summary.FitDiff
(s3方法):
summary.FitDiff<-function(object){
print(object@nested)
return(object@fit)
}
而这个
summary
方法与
FitDiff
一起使用目的:
a<-semTools::compareFit(fit.A,fit.B)
summary(a)
这不是一个完美的解决方案,理想的解决方案应该涉及如何在不弄乱所有可能的 s4method 的情况下指定 s3 方法,但是我对 s4 方法没有足够的了解......它现在解决了我的问题......
关于r - getMethod ("summary"中的错误,签名 = "FitDiff"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63065696/
我正在使用 semTools::compareFit 比较熔岩物体.它抛出一个非常奇怪的错误消息。 我还尝试了以下可重现的示例: data("HolzingerSwineford1939",packa
我是一名优秀的程序员,十分优秀!