在 R 中使用多个逻辑运算符为数据集编写新变量
Code a new variable for a dataset using multiple logical operators in R
我正在尝试将 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
不幸的是,尝试没有正确生成结果。当 continent=1 或 country=5 或 country=10 时,结果显示比率 8。我想我在 R 中组合逻辑运算符是错误的。
谁能帮我解决这个问题?非常感谢!
注意:上面我用了attach(data),懒得再重写data了
您的问题似乎是您没有从数据帧 data
的数据中调用变量。这可能是您错误的原因。要解决此问题,请通过执行以下操作在数据框中指定变量:
data$rate[(data$continent==1 & (data$country==5 | data$country==10))] <- 8
我正在尝试将 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
不幸的是,尝试没有正确生成结果。当 continent=1 或 country=5 或 country=10 时,结果显示比率 8。我想我在 R 中组合逻辑运算符是错误的。
谁能帮我解决这个问题?非常感谢!
注意:上面我用了attach(data),懒得再重写data了
您的问题似乎是您没有从数据帧 data
的数据中调用变量。这可能是您错误的原因。要解决此问题,请通过执行以下操作在数据框中指定变量:
data$rate[(data$continent==1 & (data$country==5 | data$country==10))] <- 8