【问题标题】:Fisher's Classification Function Coefficients for multiple classes in LDA in RR中LDA中多个类的Fisher分类函数系数
【发布时间】:2013-12-20 18:34:14
【问题描述】:

我对与 LDA 相关的 R 有一点疑问,就像在 spss 中,当我尝试使用包 MASS 在 R 中获取线性判别分析的 Fisher 分类函数系数时,我只得到如下线性判别系数:

线性判别系数:

                     LD1        LD2             LD3            LD4
   Var1      0.018952518    0.010766163     0.534278507     -2.32E-02
   Var2     -0.000827315   -0.012934214    -0.013986988     -3.14E-01
   Var3     -3.616088667   -0.18684861     -2.962979702      1.36E-01
   Var4      0.000139365   -0.003802969     0.000313853      9.33E-05
   Var5      0.007675119    0.006891405     0.05536683      -9.69E-02


                 LD5            
   Var1        5.64E-02         
   Var2        6.04E-02         
   Var3       -3.69E-01         
   Var4       -3.40E-05         
   Var5       -4.92E-01

但是我的分组变量中有 7 个组,我需要为所有五个变量的每个集群获取 Fisher 分类函数系数,以便我可以使用它们在 Excel 中进行进一步分析。我打算在下面添加类似的表格:

分类函数系数

        Cluster             
               7          8         9      10       11          12      13
   Var1      .630       .580      .555   .571     .598        .714    .642
   Var2      .025       .028      .028   .029     .026        .029    .029
   Var3      .685       .684      .752   .681     .678        .695    .700
   Var4     1.019       .997     1.015   .998     1.023      1.033   1.033
   Var5    17.331     21.253    21.457 21.347     9.166      8.850   8.860
(Constant)-44.687    -57.762   -59.353-58.928   -36.337    -42.367 -42.744

所以我想要在 R 中与上面相同的输出,请帮帮我:

【问题讨论】:

    标签: r classification lda


    【解决方案1】:

    您可以修改 Fiete 建议的代码,也可以使用 DiscriMine 包中的 linDA

    library(DiscriMiner)
    mylda = linDA(iris[,1:4], iris[,5])
    summary(mylda)
    mylda$functions
    
                   setosa versicolor  virginica
    constant     -86.30847 -72.852607 -104.36832
    Sepal.Length  23.54417  15.698209   12.44585
    Sepal.Width   23.58787   7.072510    3.68528
    Petal.Length -16.43064   5.211451   12.76654
    Petal.Width  -17.39841   6.434229   21.07911
    

    【讨论】:

      【解决方案2】:

      如果我正确理解您的问题,这可能是您问题的解决方案:

      Classification functions in linear discriminant analysis in R

      该帖子提供了一个脚本,该脚本从判别函数生成分类函数系数,并将它们作为单独的表格添加到您的 lda() 函数的结果中。

      【讨论】:

      • 我运行了我在数据集的链接中找到的代码,但我看不到输出。你能指导我用你的代码获取分类系数表吗?
      • 你是如何运行它的?您是否使用所需的参数(legendre.lda(x,groups))调用了该函数?您确定数据处理正确吗?您收到错误消息吗?如果您的表名为table1,则结果将作为table1$class.funs 附加到原始结果中。如果你做的一切都正确,你应该能够看到它们,如果你输入print(table1$class.funs)
      • 你知道我得到了表格,但问题是我需要将各自的簇号作为列名,将各自的变量名作为行名。在表中,我得到了每个组的最后两个变量的 NA。结果不应该包含分组变量。我不知道为什么,你能帮帮我吗?
      猜你喜欢
      • 2021-09-19
      • 2014-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-14
      • 2014-10-09
      • 2015-11-22
      相关资源
      最近更新 更多