使用R中的多个逻辑运算符为数据集编码新变量

时间:2016-11-16 16:34:34

标签: r sas logical-operators

我正在尝试将SAS脚本转换为R以学习R.以下是SAS中的脚本。

if continent=1 and (country=5 or country=10) then rate = 8

以下是我对数据框的尝试,名为 data

data$rate[(continent==1) & (country==5 | country==10)] <- 8

或者:

data$rate[(continent==1) & country %in% c(5,10)] <-8

不幸的是,尝试不能正确生成结果。结果显示当大陆= 1或国家= 5或国家= 10时的速率8。我想在组合R中的逻辑运算符时我错了。

有人可以帮我解决这个问题吗?非常感谢!

注意:我使用了上面的附加(数据),因为我懒得再次重写数据。

1 个答案:

答案 0 :(得分:0)

看起来您的问题是您没有从数据框data中的数据中调用变量。这可能是您的错误的原因。要解决此问题,请执行以下操作在数据框中指定变量:

data$rate[(data$continent==1 & (data$country==5 | data$country==10))] <- 8