Ich habe beunruhigende machendezile-Portfolio. This is my dataset: X Zeile steht für 1 Geschäftsperiode und Spalte steht für Unternehmen.Aufteilen von Dataset in Deciles in R
Ich habe versucht, jedes Quantil Werte in jeder Periode zu bekommen.
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))}
die diese Result of quantiles in each periods, column represents periods
ergibt Und damit ergibt ich versuchte, die Mittelwerte zwischen 0% ~ 10%, 10% ~ 20% ... 90% ~ 100% in X-Datensatz zu erhalten in jeder Periode.
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))
Aber das Problem ist, dass, weil in einigen Perioden in Decile_X zeigt 0,000000000 in 40% ~ 50%, 50% ~ 60%, 60% ~ 70%, so dass ich nicht genau aufteilen.
Gibt es eine Lösung für dieses Problem? Oder ist meine Methode sehr ineffizient, um ein Dezil-Portfolio zu erstellen?
Ich bin neu in R und versuchte, im Detail zu erklären. Bitte helfen Sie mir.
Sie können für die Aufteilung in Dezilen verwenden dplyr: mydata%>% mutieren (Quantil = NTILE (x1, 10)). x1 ist die Spalte, die Sie für die Aufspaltung in Dezilen verwenden möchten. – JonGrub