2016-07-14 33 views
-1

我一直沒能在別處找到了答案,我的問題,所以這裏有雲:重新編碼百分位數:函數,而不是爲循環

我想知道如何在變量名做一個for循環一個數據幀。

for (EACH VARIABLE in DATAFRAME){ 
    operation 
    } 

我試過i in names(df)等不同品種,沒有成功。

我想要做的事很簡單。我要重新編碼的變量:上百分第X = 1,其餘= 0我已經能夠做到這一點,如下所示:

j <- ntile (df$variable, 100) 
    newdf$variable_percentile <-j 
    newdf$variable_binomial <- 0 
    newdf$variable_binomial[j>x] <-1 

我將不勝感激幫助與循環對於這一點,還是有辦法做到這一點更輕鬆。也許有一個功能和適用?

此致 連

回答

0

這個代碼是由羅布提供給我德斯

indicator <- function(variable, quantile) { 
    return(.bincode(variable,breaks=c(0,quantile(variable,probs=quantile[[1]],max(variable)),include.lowest=TRUE)-1) 
} 

指示符(數據,90)現在將編碼的最高10%,如1,其餘爲0

相關問題