如何解决在R输出中提取特定结果
我想从mardia的命令中提取“ b1p”和“ b2p”的值,并将其保存在bskew中。 为此,我使用了“心理”软件包R版本为4.0.3。我尝试了几个提取命令,但是失败了。
bskew <- mardia$b1p
bskew <- mardia[b1p
bskew <- mardia[[b1p
为此,我得到了错误“类型为'closure'的对象不可子集化”
通过使用names()
,我只有名字,而通过使用class()
,我得到的是“ psych”,“ mardia”。
通过使用summary()
,我收到消息“警告消息:
在summary.psych(mardia(x))
中:
抱歉,我没有此对象的摘要功能”,然后我使用了mna$coefficients[[]]
命令
我收到消息“ NULL”。
我将我的mardia命令保存在了mna中。
最低工作示例是:
n0 <- 5
p0 <- 2
m0 <- matrix(rep(0,p0),ncol=p0)
s0 <- diag(1,p0)
x <- rmvnorm(5,mean=m0,sigma=s0)
mardia$"b1p"
bskew <- mardia["b1p"]
bskew <- mardia[["b1p"]]
bkurt <- mardia[["b2p"]]
bskew <- mardia$b1p$
mna<-mardia(x)
class(mna)
names(mna)
summary(mardia(x))
summary(mna)
sk1 <- mna$coefficients[[3]]
mna$coefficients
解决方法
该错误是因为您试图对一个函数mardia
进行子集化,而该函数总是会抛出错误,所以也应该对mna
对象进行子集化,而不是对实际函数进行子集化。
> mna$b1p
[1] 1.95888
> mna["b1p"]
$b1p
[1] 1.95888
> mna[["b1p"]]
[1] 1.95888
> mardia(x)$b1p
[1] 1.95888
> mardia$b1p
Error in mardia$b1p : object of type 'closure' is not subsettable
> mardia<-mardia(x)
> mardia$b1p
[1] 1.95888
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。