私は10倍のポートフォリオを作るのに困っています。 This is my dataset: X 行は1会計期間を表し、列は企業を表します。データセットをデシルに分割するR
私は各期間ごとにすべての分位点の値を取得しようとしました。この Result of quantiles in each periods, column represents periods
をもたらし、
Decile_X <- data.frame(matrix(nrow = 11, ncol = 56))
for(i in 1:56){
Decile_X[,i]<-as.numeric(quantile(X[i,], prob = seq(0, 1,length = 11),
type = 5, na.rm=T))}
私はXデータセットに0%〜10%、10%〜20%... 90%〜100%の間の平均値を取得しようとしました。この結果に各期間において。
Df <- data.frame(matrix(nrow = 10, ncol = 56))
for(i in 1:nrow(TaxExpense)){
for(j in 1:10){
Df[j,i] <- mean(rowMeans(X[i, which(!is.na(Decile_X[i,]) &
X[i,]>Decile_X[j,i] & X[i,]<=Decile_X[j+1,i])], na.rm=T))
しかし、問題はDecile_Xで、いくつかの期間に0.000000000% 40〜50%、〜60%、50%、60%〜70%を示し、そのため、私は正確に分割することができないということです。
この問題の解決方法はありますか? 私の方法はデシルポートフォリオを作るのに非常に非効率的ですか?
私はRが初めてで、詳細に説明しようとしました。 私を助けてください。
dplyrをデシルに分割するには、mydata%>% mutate(quantile = ntile(x1、10))を使用できます。 x1はデシルに分割するために使用する列です。 – JonGrub