【问题标题】:Function in R - Transforming A Yes/No variable in a 1/0 variable [duplicate]R中的函数-在1/0变量中转换是/否变量[重复]
【发布时间】:2017-01-03 10:15:15
【问题描述】:

我需要设置一个函数来帮助我恢复 0/1 中的 Yes/No 变量。

一个函数应该是

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"
}

【问题讨论】:

  • How do I change a value coded as "Yes" to a value of 1 in R? 的可能重复项。在任何答案中的任何地方都将 2 替换为 0。或r program changing yes/no variable to 1/0
  • 使用[ 而不是$
  • x&lt;-function(DataFrame,VariableName,Yes) { as.integer(DataFrame[VariableName]==Yes) } 应该可以解决您的整体问题。
  • 供其使用:DB$Varr &lt;- x(DB,"Varr","Yes")。作为建议:不要尝试在函数中更新外部对象,即使您完全了解此想法背后的注意事项,它通常也很脆弱并且维护起来是一场噩梦。

标签: r function functional-programming


【解决方案1】:

我们可以使用as.integerlogical 向量强制转换为二进制

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 2021-04-09
    • 2016-08-21
    • 2019-05-08
    相关资源
    最近更新 更多