【发布时间】:2021-02-17 01:28:59
【问题描述】:
我想从 mardia 的命令中提取“b1p”和“b2p”的值,并希望将其保存在 bskew 中。 为此,我使用了“psych”包 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”。
我在 mna 中保存了我的 mardia 命令。
最低工作示例是:
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
【问题讨论】:
-
mna$b1p工作 -
@AndreasM 是的,OP 在函数上调用子集函数,而不是在返回的对象上调用它们,OP 直到运行子集线才创建。