2017-01-03 47 views
-4

我需要設置一個函數來幫助我恢復0/1中的是/否變量。R中的函數 - 變換1/0變量中的是/否變量

函數應該是

x<-function(DataFrame,VariableName,Yes,No){ 
    ..... 
    } 

我成立了這個代碼,但只跑出來的功能,因爲R請勿看美元符號()後,在設置好的變量。

dummy<-function(DB,varr){ 
     BD$varr <- as.character(DB$varr) 
     DB[BD$varr=="Yes"]<-"1" 
     DB[BD$varr=="No"]<-"0" 
} 
+6

的可能的複製[如何更改編碼爲「是」 R中的值爲1的值?(HTTP ://stackoverflow.com/questions/12033960/how-do-i-change-a-value-coded-as-yes-to-a-value-of-1-in-r)。在任何答案中,任何地方都將2替換爲0。或[r程序更改是/否變量爲1/0](http://stackoverflow.com/questions/38944567/r-program-changing-yes-no-variable-to-1-0-variable-medal-is -not-a-factor) –

+0

使用'['而不是''''。 – Roland

+2

'x <-function(DataFrame,VariableName,Yes){as.integer(DataFrame [VariableName] == Yes)}'應該爲您的整體問題做。 – Tensibai

回答

0

我們可以使用as.integerlogical向量強制爲二進制

as.integer(BD$varr=="Yes")