【问题标题】:How to obtain eigen vectors from particular eigen values using R? [closed]如何使用 R 从特定特征值中获取特征向量? [关闭]
【发布时间】:2014-10-11 04:04:01
【问题描述】:

示例:我有 20 个特征值,我选择了 10 个作为最佳特征值。对于这 10 个值,我需要分别找到特征向量。怎么办?我是 R 编程的新手。期待您的回复。

【问题讨论】:

    标签: r eigenvector eigenvalue


    【解决方案1】:
    > B <- matrix(1:4, 2)
    > eig <- eigen(B)
    > eig$vectors[,which.max(eig$values)]
    [1] -0.5657675 -0.8245648
    

    或类似的东西

    > n <- 3 
    > A  <- matrix(round(runif(n*n),2),nrow=n) 
    > A 
         [,1] [,2] [,3]
    [1,] 0.54 0.90 0.82
    [2,] 0.09 0.42 0.95
    [3,] 0.17 0.75 0.69
    > evv.A <- eigen(A) 
    > evv.A 
    $values
    [1]  1.6230202  0.3095823 -0.2826025
    
    $vectors
               [,1]        [,2]       [,3]
    [1,] -0.7455955 -0.97996498  0.3069212
    [2,] -0.4464598  0.18600090 -0.7788676
    [3,] -0.4947332  0.07122006  0.5469594
    
    > 
    > k <- which(abs(evv.A$values)==max(abs(evv.A$values))) 
    > evv.A$vectors[,k] 
    [1] -0.7455955 -0.4464598 -0.4947332
    > k 
    [1] 1
    

    【讨论】:

    • 感谢您的回复。您的第二个建议采用值中的第一个最大特征值并显示其特征向量。根据您的示例,我需要选择两个特征值 1.6230202 0.3095823 并且必须显示其特征向量。有什么办法吗??
    • 执行此操作k &lt;- 1:2,然后evv.A$vectors[,k] 语句应该给出你想要的矩阵。使用?eigen阅读本征帮助。
    • 如果有帮助,请接受解决方案作为答案
    猜你喜欢
    • 2013-05-15
    • 2017-04-30
    • 2022-01-05
    • 1970-01-01
    • 2014-05-11
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    相关资源
    最近更新 更多