2017-04-27 61 views
0

我有100个矢量的特征向量矩阵。我遇到的问题是矢量的值几乎为零(对于平均e-10)!下面是一个载体例子:如何放大每个矢量的值

0.000000245023212264631 
-0.00000000928673421733024 
-0.00000000702744206187778 
-0.0400022257147745 
0.000715047161691289 
0.000178299491594312 
0.000000000000000111022302462516 
-0.000000000000000444089209850063 
-0.0000311452059972295 
0.000000928320962476081 
0.00025873217452001 
-0.0000073255984986786 
0.000226706852668388 
-0.00000637215108697076 
-0.00000741641656228371 
0.000000000466042723561714 
0.000000000279056699407741 
-0.00000000926312312226756 
0.00000000000000000000000000323117426778526 
0.000000000000000000000000000403896783473158 
-0.0366691252097418 
-0.0305829466924761 
-0.0300306491122465 
0.99163522436172 
-0.0000000033133072963138 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000331297544425818 
-0.0000100525189687 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
0.000000100784783009722 
-0.00000000339576544864114 
-0.0000000033133072963138 
-0.0000000033133072963138 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
-0.00000000339576544864114 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000229274956160153 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000229274956160153 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 
0.000000000128704479996649 

我想知道如果我能以某种方式扩展每个向量让我得到有值接近1越好,不破坏特征向量的属性(实例,0.01而不是0.0000001)。以下是我使用的代码:

library(igraph) 
M <- data.matrix(test) 
G <- graph.data.frame(M, directed = FALSE) 
L <- laplacian_matrix(G, normalized = FALSE, weights = NULL, sparse = FALSE) 
options(scipen=999) 
df <- data.frame(eigen(L)) 
df[,1] <- NULL 
write.table(df[,1], file = "~/test.csv", row.names=FALSE, col.names=FALSE, sep=",") 

回答

0

我不知道这是否与食堂的所有属性但如何像...

test <- rnorm(100, mean = 0.00000000001, sd = 0.00000000002) # fake small set 
test <- ifelse(test<0, test*-1, test) # removed negatives 
scaledtest <- test/(max(test)+test[which.max(test)]/10) 
0

的特征向量x的定义矩阵A对于某个特征值c是Ax = cx。所以如果你按比例放大x来表示kx,那么你的特征值必须是c/k来满足方程。因此,您可以通过标量缩放您的特征向量,但相应的特征值将乘以反向。

我不会推荐它,如果这进行了任何额外的计算,因为你引入的错误可能是巨大的。