无法弄清楚如何使用IF语句

时间:2019-10-18 13:00:16

标签: r if-statement

我想为我的数据库创建一个分类变量:我想创建“ Same_Region”组,其中包括在同一地区生活和工作的所有人员,为那些不住在同一地区的人提供“ Diff_Region”。我尝试使用IF语句,但实际上我不知道该如何正确地说“如果可变的居住区和工作区相同,则返回...”。这是我第一次尝试用自我R逼近,我感到有点失落。

我试图将两个变量(由2个字母组成-f.i.“ BO”)作为字符并使用“ grep”命令。但这最终没有结果。 然后,我尝试将两个变量都作为因子,但没有太大变化。

----在R -----

source /opt/rh/llvm-toolset-7.0/enable

1 个答案:

答案 0 :(得分:0)

@deepseefan的comment中提出的ifelse方法是解决此类问题的标准方法。
这是另一个。它利用FALSE/TRUE被编码为整数0/1的事实来创建基于相等性的逻辑向量,然后将1添加到该向量,得到1/2值的向量。该结果将在函数的最终指令中使用,以对具有两个可能结果的向量进行索引。

extractSamepr <- function(DF){
  i <- 1 + (DF[["RegionOfRes"]] == DF[["RegionOfWo"]])
  c("DiffPr", "SamePr")[i]
}

Data.Base$SamePr <- extractSamepr(Data.Base)