나는 십분배 포트폴리오를 만드는 데 어려움을 겪고 있습니다. This is my dataset: X 행은 1 회계 기간을 나타내며 Column은 회사를 나타냅니다.데이터 세트를 십진수로 나누기 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