2017-12-19 44 views
-1

パネルの日付セットの相関行列を作成します。私のデータセットは次のように構成されています。LEV、DOI、INDU、GROWTH、SIZE、ROE、AGEの各企業の数値は次のとおりです。パネルデータの相関行列

したがって、入力ファイルは次のようになります私がこれまでにやった

---LEV------DOI----INDU----GROWTH 

LEV 

DOI 

INDU 

GROWTH 

:よう

company ----year -----LEV-----DOI 

x-----------1 ---------6 -----10 

x-----------2 ---------6 -----10 

y-----------1 ---------6 -----10 

y-----------2 ---------6 -----10 

は、今私は、変数のデータ・セットの相関行列を作成したい、それが見えるはずです

Leverage_alle <- pdata.frame(Leverage, index=c("company", "year")) 
Lev_data  <- Leverage_alle[Leverage_alle$id %in% c(1,2),c(1:4, 6:10)] 

COR:私は次のようにそれを使用する場合の機能は動作しません。なぜなら、それは

> cor(acast(Lev_data, year ~ id, value.var = 'XY'), use = 'pairwise.complete.obs') 

cor(Leverage_alle,use = "pairwise.complete.obs") 
Error in cor(Leverage_alle, use = "pairwise.complete.obs"):'x' muss numerisch sein 

私は、次のコードを見つけましたが、私の場合に適用する方法がわかりません

私も試してみました:

Lev_data %>% 
    spread(year, company) %>% 
    select(-year) %>% 
    cor(., use = "pairwise.complete.obs") 

Error in eval(lhs, parent, parent) : object 'paneldata' not found 
+3

*質問を再フォーマットするには、たとえば次のようにしてください。適切なコードブロック。現時点ではこれはちょっと混乱しています!また、(1)サンプルデータを含む[最小再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)と(2)明らかにあなたの期待される出力を述べる。 –

答えて

0

相関行列のすべての項目は数値変数でなければなりません。私のドイツ語は錆びていますが、エラーメッセージ "muss numerische sein"は "数値でなければなりません"を意味します。 cor()関数で使用しようとしている各列のデータ型を確認します。おそらくいくつかの要素を要素として読んでいるので、as.numeric()関数で数値に変換する必要があります。

関連する問題