2

我想计算路径分析模型的直接和所有间接影响。路径图如下:

路径模型

我不确定在 [R] 中使用的代码。有使用系数 a、b 等然后使用 := 符号的简单间接效应和中介模型的示例。但我不确定如何在这个稍微复杂的模型中使用它。标准代码如下/。

#regression model
V3 ~ V1 + V2
V4 ~ V1 + V2 + V3
V5 ~ V4 + V5

我可以将系数附加到上面的自变量上。那么我该如何编写间接函数的代码呢?在这里,我们将对 V1 和 V2 对 V5 产生间接影响,但没有直接影响。那将如何编码?我是拉万。有没有别的包?非常感谢您的帮助。谢谢。

4

2 回答 2

2

剩下的唯一事情就是在变量前面设置标签。我将尝试用一个更简单的示例向您展示。

加载包和示例数据集:

require(tidyverse)
require(lavaan) # for the path analysis
require(semPlot) # To plot the path analysis

#Loading the data set (swiss is part of the Base R datasets). 
df <- swiss %>% 
  select(Fertility, Education, Infant.Mortality)

head(df)

             Fertility Education Infant.Mortality
Courtelary        80.2        12             22.2
Delemont          83.1         9             22.2
Franches-Mnt      92.5         5             20.2
Moutier           85.8         7             20.3
Neuveville        76.9        15             20.6
Porrentruy        76.1         7             26.6

接下来,您需要定义模型。模型变量分为两部分:回归和中介。回归是用 形成~和调解的:=。请注意,对于回归中的每个变量,我都附上了标签*。标签是用户任意的,几乎可以采用任何形式。例如,在这里Infant.Mortality ~ FerMor*FertilityInfant.Mortality用变量预测变量Fertility,而我给出的标签是FerMor。接下来,我使用标签来创建中介。我为此示例只创建了一个Path1 := FerMor * EDUMor * FerEDUPath1是我给中介路径的任意名称,FerMor * EDUMor * FerEDU是我选择指定的中介路径。

我真的建议使用评论。随着变量和中介的数量越来越大,阅读脚本真的很困难。

Model <-'
# Regression
Infant.Mortality    ~   FerMor*Fertility
Infant.Mortality    ~   EDUMor*Education
Education   ~   FerEDU*Fertility

#Mediation
#Path 1 - Fertility -> Education -> Infant.Mortality
#         Fertility ->              Infant.Mortality
Path1 := FerMor * EDUMor * FerEDU
'

最后一步是运行模型:

set.seed(1989)
fit <- sem(
  Model,
  data = scale(df),
  likelihood = "wishart",
  missing = 'ML',
  meanstructure = TRUE)

如果要运行引导程序,可以添加参数:meanstructure = TRUE, se = "bootstrap", bootstrap = 5000. 如果您来自 SPSS/AMOS,请使用likelihood = "wishart"以获得相同的结果。

您可以使用semPaths()

semPaths(fit)

在此处输入图像描述

最后,要获得完整的模型估计(您可以在定义参数中的输出末尾找到中介),请使用函数summary()。我建议添加参数fit.measures = TRUE, standardize = TRUE

summary(fit, fit.measures = TRUE, standardize = TRUE)


lavaan (0.5-23.1097) converged normally after  13 iterations

  Number of observations                            47

  Number of missing patterns                         1

  Estimator                                         ML
  Minimum Function Test Statistic                0.000
  Degrees of freedom                                 0
  Minimum Function Value               0.0000000000000

Model test baseline model:

  Minimum Function Test Statistic               38.734
  Degrees of freedom                                 3
  P-value                                        0.000

User model versus baseline model:

  Comparative Fit Index (CFI)                    1.000
  Tucker-Lewis Index (TLI)                       1.000

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)               -178.771
  Loglikelihood unrestricted model (H1)       -178.771

  Number of free parameters                          7
  Akaike (AIC)                                 371.543
  Bayesian (BIC)                               384.343
  Sample-size adjusted Bayesian (BIC)          362.395

Root Mean Square Error of Approximation:

  RMSEA                                          0.000
  90 Percent Confidence Interval          0.000  0.000
  P-value RMSEA <= 0.05                             NA

Standardized Root Mean Square Residual:

  SRMR                                           0.000

Parameter Estimates:

  Information                                 Observed
  Standard Errors                             Standard

Regressions:
                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Infant.Mortality ~                                                      
    Fertlty (FrMr)      0.627    0.173    3.623    0.000    0.627    0.627
    Educatn (EDUM)      0.317    0.173    1.831    0.067    0.317    0.317
  Education ~                                                             
    Fertlty (FEDU)     -0.664    0.110   -6.019    0.000   -0.664   -0.664

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .Infant.Mortlty   -0.000    0.128   -0.000    1.000   -0.000   -0.000
   .Education         0.000    0.109    0.000    1.000    0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .Infant.Mortlty    0.754    0.157    4.796    0.000    0.754    0.770
   .Education         0.547    0.114    4.796    0.000    0.547    0.559

Defined Parameters:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    Path1            -0.132    0.102   -1.288    0.198   -0.132   -0.132

您可以访问此处了解更多信息。

于 2018-04-21T09:02:46.590 回答
0

有类似的问题。在 lavaan 中,您必须使用跟踪规则、邓肯规则或直接效应矩阵乘法手动编写间接和总效应的语法(参见 Maruyama,结构方程建模基础中的一般解释)。

您可以编写一些代码来生成该语法,这是我在这里的尝试下面的摘要。它在 r 和 python 中使用符号矩阵库。希望您可以根据需要调整代码或想法。

首先,我描述了没有显式间接或总体影响的测量和结构模型并运行它:

model.cfa <- "quality =~ Q068_1 + Q068_4
              delivery  =~ Q069_2 + Q069_5
              flexibility  =~ Q071_1 + Q071_4 + Q071_5
              costs   =~ Q070_1 + Q070_2 + Q070_3
              innovation =~ Q072_1 + Q072_3 + Q072_2"

model.sem_1a <- paste(model.cfa, "
              delivery ~ quality
              flexibility ~ delivery
              costs ~ flexibility
              innovation ~ costs")

fit.sem_1a <- sem(model.sem_1a, data = dataset, missing = "fiml")
summary(fit.sem_1a, fit.measures = T, standardized = T, rsquare = T)

然后我得到标准化直接效应系数的矩阵并将其转置以使因变量出现在列中,独立变量出现在行中:

# Get matrix of beta coefficients from lavInspect function:
mtx <- lavInspect(fit.sem_1a, what = "std", add.labels = TRUE, add.class = TRUE,
           list.by.group = TRUE,
           drop.list.single.group = TRUE)$beta

m <- t(mtx)  # transpose matrix

m矩阵的输出:

            qualty delvry flxblt costs innvtn
quality          0   0.52  0.000 0.000  0.000
delivery         0   0.00  0.412 0.000  0.000
flexibility      0   0.00  0.000 0.309  0.000
costs            0   0.00  0.000 0.000  0.442
innovation       0   0.00  0.000 0.000  0.000

然后我切换到 rSymPy 包 - 在 r 中实现 python Sympy 库 - 并通过将系数的数值替换为字符串标签来重新创建直接系数矩阵:

rn <- rownames(m)
cn <- colnames(m)
library(rSymPy)
symbolic_mtrx <- matrix(nrow=length(rownames(m)), ncol=length(colnames(m)))             # initialize empty symbolic matrix with correct dimensions

# Now fill in the matrix with 'z' for zero elements and abbreviations for non-zero path coefficients 

for (i in 1:length(rownames(m))){
  for (j in 1:length(colnames(m))){
    symbolic_mtrx[i,j]<-noquote('z')      # noquote not necessary
    if (m[i,j]!=0) {
      #print(m[i,j])
      l<-paste0(substr(rownames(m)[i],1,1),substr(colnames(m)[j],1,1))          # create a name for a coefficient from first letter of each construct name
      symbolic_mtrx[i,j]<-noquote(l)
    }
  }
}

symbolic_mtrx   # print the symbolic matrix

symbolic_mtrx 的输出:

     [,1] [,2] [,3] [,4] [,5]
[1,] "z"  "qd" "z"  "z"  "z" 
[2,] "z"  "z"  "df" "z"  "z" 
[3,] "z"  "z"  "z"  "fc" "z" 
[4,] "z"  "z"  "z"  "z"  "ci"
[5,] "z"  "z"  "z"  "z"  "z" 

由于我无法在 rSymPy 中执行矩阵乘法,我切换到 python 并根据需要多次乘以符号矩阵:

library(reticulate)

```{python}

from sympy import Matrix

rsm_direct = Matrix(r.symbolic_mtrx)           #get direct effects matrix from r
rsm_indirect_1 = rsm_direct*rsm_direct         # get first order indirect effects by multiplication
rsm_indirect_2 = rsm_indirect_1*rsm_direct     # get second order indirect effects by multiplication. Would be nice to know in advance how many levels of indirect effects exist.
rsm_total_indirect = rsm_indirect_1 + rsm_indirect_2     # sum of first and second order indirect effects
rsm_total = rsm_total_indirect + rsm_direct    # get total effects

```

rsm_total(总效应公式)的输出,其中 z 表示零系数:

Matrix([[qd*z + 4*z**2 + z*(df*qd + 4*z**2) + z*(qd*z + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z, 2*qd*z + qd*(qd*z + 4*z**2) + qd + 3*z**2 + z*(df*qd + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2), df*qd + df*(2*qd*z + 3*z**2) + 4*z**2 + z*(df*qd + 4*z**2) + z*(qd*z + 4*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z, fc*z + fc*(df*qd + 4*z**2) + qd*z + 3*z**2 + z*(qd*z + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z, ci*z + ci*(fc*z + qd*z + 3*z**2) + qd*z + 3*z**2 + z*(df*qd + 4*z**2) + z*(qd*z + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z], [df*z + 4*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z, df*z + qd*z + qd*(df*z + 4*z**2) + 3*z**2 + z*(df*fc + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z, 2*df*z + df*(df*z + qd*z + 3*z**2) + df + 3*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2), df*fc + fc*(2*df*z + 3*z**2) + 4*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z, ci*z + ci*(df*fc + 4*z**2) + df*z + 3*z**2 + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z], [fc*z + 4*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z, fc*z + qd*z + qd*(fc*z + 4*z**2) + 3*z**2 + z*(ci*fc + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z, df*z + df*(fc*z + qd*z + 3*z**2) + fc*z + 3*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(df*z + fc*z + 3*z**2) + z, 2*fc*z + fc*(df*z + fc*z + 3*z**2) + fc + 3*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2), ci*fc + ci*(2*fc*z + 3*z**2) + 4*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z], [ci*z + 4*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z, ci*z + qd*z + qd*(ci*z + 4*z**2) + 3*z**2 + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z, ci*z + df*z + df*(ci*z + qd*z + 3*z**2) + 3*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z, ci*z + fc*z + fc*(ci*z + df*z + 3*z**2) + 3*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z, 2*ci*z + ci*(ci*z + fc*z + 3*z**2) + ci + 3*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2)], [5*z**3 + 5*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z, 5*qd*z**2 + qd*z + 4*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z, df*z + df*(qd*z + 4*z**2) + 5*z**3 + 4*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z, fc*z + fc*(df*z + 4*z**2) + 5*z**3 + 4*z**2 + z*(ci*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z, ci*z + ci*(fc*z + 4*z**2) + 5*z**3 + 4*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(qd*z + 4*z**2) + z]])

根据乘符号矩阵中的文本字符串创建间接和总效果的语法(仍在 python 中,但不一定):

```{python}
l=len(r.rn)                          # number of matrix rows, taken from r object
total_effects_syntax = str()         # initialize empty string for syntax 
for i,rname in enumerate(r.rn):      # both row index and row elements in matrix are needed, thefore use of enumerate()
  for j,cname in enumerate(r.cn):    # now traverse through columns
    if i!=j:                         # exclude path coefficients that go from construct to itself 
        total_effects_syntax+= " "+rname[0]+cname[0]+"_total:= "+str(rsm_total[i*l+j]) + " \n "         # create a string for lavaan total effects

# Now indicate that z means zero: 
total_effects_syntax = "z:=0"  + " \n" + total_effects_syntax + " "
print(total_effects_syntax)
```

输出是总效果的语法,将被插入到结构模型的描述中(出于显示目的手动清理的输出):

z:=0 
 qd_total:= 2*qd*z + qd*(qd*z + 4*z**2) + qd + 3*z**2 + z*(df*qd + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) 
  qf_total:= df*qd + df*(2*qd*z + 3*z**2) + 4*z**2 + z*(df*qd + 4*z**2) + z*(qd*z + 4*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z 
  qc_total:= fc*z + fc*(df*qd + 4*z**2) + qd*z + 3*z**2 + z*(qd*z + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z 
  qi_total:= ci*z + ci*(fc*z + qd*z + 3*z**2) + qd*z + 3*z**2 + z*(df*qd + 4*z**2) + z*(qd*z + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z 
  dq_total:= df*z + 4*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z 
  df_total:= 2*df*z + df*(df*z + qd*z + 3*z**2) + df + 3*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) 
  dc_total:= df*fc + fc*(2*df*z + 3*z**2) + 4*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z 
  di_total:= ci*z + ci*(df*fc + 4*z**2) + df*z + 3*z**2 + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z 
  fq_total:= fc*z + 4*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z 
  fd_total:= fc*z + qd*z + qd*(fc*z + 4*z**2) + 3*z**2 + z*(ci*fc + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z 
  fc_total:= 2*fc*z + fc*(df*z + fc*z + 3*z**2) + fc + 3*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) 
  fi_total:= ci*fc + ci*(2*fc*z + 3*z**2) + 4*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z 
  cq_total:= ci*z + 4*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z 
  cd_total:= ci*z + qd*z + qd*(ci*z + 4*z**2) + 3*z**2 + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z 
  cf_total:= ci*z + df*z + df*(ci*z + qd*z + 3*z**2) + 3*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z 
  ci_total:= 2*ci*z + ci*(ci*z + fc*z + 3*z**2) + ci + 3*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) 
  iq_total:= 5*z**3 + 5*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z 
  id_total:= 5*qd*z**2 + qd*z + 4*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z 
  if_total:= df*z + df*(qd*z + 4*z**2) + 5*z**3 + 4*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z 
  ic_total:= fc*z + fc*(df*z + 4*z**2) + 5*z**3 + 4*z**2 + z*(ci*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z 

最后,切换回 r 并第二次运行模型,但现在将总效果的语法添加到模型定义中:

model.sem_1a <- paste(model.cfa, "
              delivery ~ qd*quality
              flexibility ~ df*delivery
              costs ~ fc*flexibility
              innovation ~ ci*costs
              ", py$total_effects_syntax)

fit.sem_1a <- sem(model.sem_1a, data = dataset, missing = "fiml")
summary(fit.sem_1a, fit.measures = T, standardized = T, rsquare = T)

这是模型(model.sem_1a)描述,添加了总效果的语法,我们的最终目标:

quality =~ Q068_1 + Q068_4
delivery  =~ Q069_2 + Q069_5
flexibility  =~ Q071_1 + Q071_4 + Q071_5
costs   =~ Q070_1 + Q070_2 + Q070_3
innovation =~ Q072_1 + Q072_3 + Q072_2
delivery ~ qd*quality
flexibility ~ df*delivery
costs ~ fc*flexibility
innovation ~ ci*costs
z:=0
qd_total:= 2*qd*z + qd*(qd*z + 4*z**2) + qd + 3*z**2 + z*(df*qd + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2)
qf_total:= df*qd + df*(2*qd*z + 3*z**2) + 4*z**2 + z*(df*qd + 4*z**2) + z*(qd*z + 4*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z
qc_total:= fc*z + fc*(df*qd + 4*z**2) + qd*z + 3*z**2 + z*(qd*z + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z
qi_total:= ci*z + ci*(fc*z + qd*z + 3*z**2) + qd*z + 3*z**2 + z*(df*qd + 4*z**2) + z*(qd*z + 4*z**2) + z*(2*qd*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z
dq_total:= df*z + 4*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z
df_total:= 2*df*z + df*(df*z + qd*z + 3*z**2) + df + 3*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2)
dc_total:= df*fc + fc*(2*df*z + 3*z**2) + 4*z**2 + z*(df*fc + 4*z**2) + z*(df*z + 4*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z
di_total:= ci*z + ci*(df*fc + 4*z**2) + df*z + 3*z**2 + z*(df*z + 4*z**2) + z*(2*df*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(df*z + qd*z + 3*z**2) + z
fq_total:= fc*z + 4*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z
fd_total:= fc*z + qd*z + qd*(fc*z + 4*z**2) + 3*z**2 + z*(ci*fc + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z
fc_total:= 2*fc*z + fc*(df*z + fc*z + 3*z**2) + fc + 3*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(2*fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2)
fi_total:= ci*fc + ci*(2*fc*z + 3*z**2) + 4*z**2 + z*(ci*fc + 4*z**2) + z*(fc*z + 4*z**2) + z*(df*z + fc*z + 3*z**2) + z*(fc*z + qd*z + 3*z**2) + z
cq_total:= ci*z + 4*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z
cd_total:= ci*z + qd*z + qd*(ci*z + 4*z**2) + 3*z**2 + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2) + z
cf_total:= ci*z + df*z + df*(ci*z + qd*z + 3*z**2) + 3*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + fc*z + 3*z**2) + z
ci_total:= 2*ci*z + ci*(ci*z + fc*z + 3*z**2) + ci + 3*z**2 + z*(ci*z + 4*z**2) + z*(2*ci*z + 3*z**2) + z*(ci*z + df*z + 3*z**2) + z*(ci*z + qd*z + 3*z**2)
iq_total:= 5*z**3 + 5*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z
id_total:= 5*qd*z**2 + qd*z + 4*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z \n  if_total:= df*z + df*(qd*z + 4*z**2) + 5*z**3 + 4*z**2 + z*(ci*z + 4*z**2) + z*(df*z + 4*z**2) + z*(fc*z + 4*z**2) + z
ic_total:= fc*z + fc*(df*z + 4*z**2) + 5*z**3 + 4*z**2 + z*(ci*z + 4*z**2) + z*(fc*z + 4*z**2) + z*(qd*z + 4*z**2) + z
于 2020-04-16T09:53:20.943 回答