2017-01-03 18 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")