2016-07-08 2 views
0

Предположим, что у меня есть следующие кадр данных, состоящая из людей с некоторым счетом, связанных с ними:Создание подъема диаграммы в R

Score | hasDefaulted 
10 | 0 
13 | 0 
15 | 1 
17 | 0 
... 

Я хочу сделать подъемную диаграмму в R по первой сортировке населения по баллам, затем% населения по оси X и% по умолчанию по оси Y. Я не могу найти хороший пакет, который дает мне контроль для этого. Я изучил Package Lift, а также Package Gains, но я не могу понять, как получить достаточный контроль над ними, чтобы сделать то, что я описал выше. Например, когда я пытаюсь с помощью пакета Lift, а

plotLift(sort(dataFrame$Score, decreasing=FALSE), dataFrame$hasDefaulted) 

я получаю какой-то странный сюжет:

Но учитывая мои желания, сюжет должен в конечном итоге выглядит как кумулятивная функция плотности.

Может ли кто-нибудь показать мне, как правильно использовать такие пакеты, или направлять меня в пакет, который делает это? Заранее спасибо.

ответ

0

Я всегда стараюсь строить свой собственный код, а не пытаться что-то менее гибкое.

Вот как я думаю, что вы можете решить эту проблему:

# Creating the data frame 
df <- data.frame("Score"=runif(100,1,100), 
       "hasDefaulted"=round(runif(100,0,1),0)) 

# Ordering the dataset 
df <- df[order(df$Score),] 

# Creating the cumulative density 
df$cumden <- cumsum(df$hasDefaulted)/sum(df$hasDefaulted) 

# Creating the % of population 
df$perpop <- (seq(nrow(df))/nrow(df))*100 

# Ploting 
plot(df$perpop,df$cumden,type="l",xlab="% of Population",ylab="% of Default's") 

enter image description here

Это то, что вы хотите?

+0

Да, отлично. Спасибо. –

1

Я думаю, что вы ищете диаграмму усиления, а не диаграмму подъема. Я замечаю, что между ними есть путаница. Вы можете обратиться к Lift Charts за дополнительной информацией.

require(ROCR) 
data(ROCR.simple) 
pred <- prediction(ROCR.simple$predictions, ROCR.simple$labels) 

gain <- performance(pred, "tpr", "rpp") 
plot(gain, main = "Gain Chart") 
Смежные вопросы