2017-07-21 36 views
0

我有(現在)有一個問題,我無法找到解決方案。將「預算」的值更改爲R中的類別級別

背景:Termpaper,主題:使用來自Kaggle的數據集,該數據集將imdb用於電影數據。相關預算分析 - > imdb評級和收入 - > imdb評級。

我有可變預算(最低= 11.000,最高300.000.000),並希望將其分爲不同的級別(低預算/0.2,5mil,中低,中,高,極高)。

我想從這些數據中獲得一個boxplot。任何提示?

+0

'切()'可以做你想做的事,typeof運算 – Henry

回答

0

使用此功能:

codage <-function(name,ncateg){ 
    bornes <-quantile(name, probs = seq(0,1,by=1/ncateg), na.rm =TRUE ,names  = TRUE) 
    Amax <-aggregate(name,list(Nom=cut(name,bornes ,include.lowest=T,label=F)),max) 
    Amin <-aggregate(name,list(Nom=cut(name,bornes ,include.lowest=T,label=F)),min) 
    Afreq<-as.matrix(summary(as.factor(cut(na.omit(name),bornes,include.lowest=T,label=F)))) 
    limites <-as.data.frame(cbind(Amin[,1],Amin[,2],Amax[,2],Afreq)) 
    names(limites)<-c("Classe","Mini","Maxi","Effectif") 

    manques <-length(name)-length(na.omit(name)) 


    varfac <-cut(name,bornes ,include.lowest=T,label=F) 

    as.factor(varfac) 
} 

只需鍵入codage(要分類變量,類別的數量)

+0

錯誤( x):找不到對象'nom' 不知道我是否犯了錯誤? – Tom

+0

哦是的抱歉,我沒有錯誤讓我糾正這 –

+0

你現在可以再試一次嗎? –

0
data_op %>% 
    mutate(level = car::recode(data_op$level, 
          "1:2500000 = 'Low Budget'; 
          2500001:30000000 = 'Medium Budget'; 
          30000001:199999999 = 'High Budget'; 
          200000000:300000000 = 'Most Expensive Film Budget'", 
          as.factor.result = TRUE)) -> data_op 
+0

不錯,它更短,似乎工作 –