You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建向量存储4个多元正态总体的多元偏度系数

修复代码以获取四个多元偏度系数的向量

原代码存在的问题

  1. 未初始化Dat数组:代码尝试向Dat[, , j, i]赋值,但未预先创建该数组,这会导致错误或异常行为。
  2. 未提取偏度值:原代码将完整的mardia结果存储在列表中,但没有从中提取偏度系数并整理为向量。

修正后的代码

library(psych)
library(MASS) 

set.seed(10)
N0 <- 1
n0 <- 5
p0 <- 2
q0 <- 4

# 初始化具有正确维度的数据数组
Dat <- array(0, dim = c(p0, n0, N0, q0))

m2 <- matrix(c(0, 0), p0, 1)
s2 <- matrix(c(1, 0, 0, 1), p0, p0)

# 初始化用于存储偏度系数的向量
mardia_skew <- numeric(q0)

for (i in 1:q0) {
  for (j in 1:N0) {
    # 生成多元正态数据
    Dat[, , j, i] <- mvrnorm(n = n0, mu = m2, Sigma = s2)
    # 计算Mardia多元偏度
    mardia_result <- mardia(Dat[, , j, i], plot = FALSE)
    # 将偏度值存入向量
    mardia_skew[i] <- mardia_result$skew
  }
}

# 输出偏度系数向量
mardia_skew

代码说明

  • 初始化Dat数组:创建一个4维数组,用于存储q0=4个总体的数据,每个总体包含N0=1组样本,每组有n0=5个观测值,每个观测值包含p0=2个变量。
  • 收集偏度值:对每个总体,使用psych::mardia计算多元偏度,从结果中提取skew分量并存储到mardia_skew向量中。

运行此代码后,你将得到一个包含四个多元偏度系数的向量,对应四个多元正态总体的偏度值。

内容的提问来源于stack exchange,提问作者hamna ehsan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 05:23:18