2017-03-07 2 views
0

私は、クランチベースのデータセットでPCAを行って、年間の投資行動を分析しています。私はこれにRを使う。私は2000年から2012年までの間、プロットを作成しました。しかし、私がする必要があるのは、最終的に投資家(ドットで表される)が時間とともにどのように動くかを示すビデオを作成することです。私はk-meansクラスタリングを使用しており、このクラスタを色付けに使用しています。ここでkを意味する色を保存すると、進化を時間で見ることができます。

は私の問題である: 私は新しい年のPCAとk平均クラスタリングを計算するたびに、Rは異なる色でクラスタをプロットします。

これは私が達成したいものです:最初の年2000(投資会社を表します)、各ドットの色 保存、そうでドット、私は、今後数年のためにPCAを計算する場合、Iプロット2000年から同じ色

トリッキーな部分:一部の投資会社が追加されている年間で 、私は年間を通じて追加それらを着色する必要はありません。異なるクラスタに

これだけの色のすべてのクラスタ: enter image description here

これは、2001年からのプロットは次のようになります。

は、これは2000年から、最初のプロットはどのように見えるかです。しかし、2000年からのドットの色を考慮していないので、私はそれを比較することはできません。ここで enter image description here

私が使用するコードの例です:

inv.mat <- cast(invtop[,1:4], investor_name~company_market, sum) 
inv.names <- inv.mat$investor_name 
inv.mat <- inv.mat[,3:29] 
inv.log <- log(inv.mat) 
inv.log[inv.log == -Inf] <- 0 
fit <- kmeans(inv.log, 4, nstart= 30) 
pca <- prcomp(inv.log) 
pca <- as.matrix(pca$x) 
plot(pca[,2], pca[,1], pch = 16, cex = 1 ,col = fit$cluster, xlab="Principal Component 1", ylab="Principal Component 2", main="VC firms") 

答えて

0

私は非常によくあなたの問題を理解していない:

  • あなたは色にあなたを維持したいですか最初のプロットで持っていた? (はい)
  • データの入力年数は同じですか?あなたが最初yerarから色を維持したい場合(No)に

、あなただけだったfit1col=fit1$clusterは、第1の時点のためのあなたのクラスター分析で記述する必要があります。

したがって、年中利用可能なすべての企業を含むベクトル(たとえば、clus.col)を最初に構築する必要があります。

問題は、それぞれの色を定義する必要があるということです。最初の1年だけ定義すると、最初の1年だけ定義すると、その一部が見逃されることがあります。 プロットごとにclus.colを定義したら、その上に出現した個体だけでサブセットを取る必要があります。

+0

はい、最初のプロットの点は投資会社を表し、その特定の会社にその色を割り当てたいとします。その投資会社は他のプロットと同じ色をしています。 マイデータの入力は、「investor_name」、「company_name」、「company_market」、「raised_amount_usd」、「investor_market」、「funded_year」です。基本的には、投資会社が毎年何社かの資金を調達しているわけではないため、入力は年間を通じて変わります。だから何年にもわたって、企業は増減しています。 –

+0

私は詳細を知っているときに私の答えを編集します。あなたの最初のTimePointは利用可能なすべての企業ですか? – R18

+0

残念ながら、これはそうではありません。つまり、利用可能なすべての企業名で初期ベクトルを構築しなければならないと言います。 最初のプロットでは、どのようにそれらのサブセットに色付けすればよいですか?そして、私は今後どのように継続しますか? –

関連する問題