1

我有一种情况,我有一个名为区域的表,其中有一列名为区域,其中存储了 410 个值,数字 1-410...

目前,R 代码的结构如下:

# add II data to the external matrix
zoneNames <- districts$zone
maxExternalZoneNum <- 99 #assumes externals first in zone numbering and are less than 99
vehicle[zoneNames > maxExternalZoneNum, zoneNames > maxExternalZoneNum] <- get(paste(p, "vehicle", sep=""))[zoneNames > maxExternalZoneNum, zoneNames > maxExternalZoneNum]
assign(paste(p, "vehicle", sep=""),vehicle)
rm(vehicle)

除了出于我的目的,99 maxExternalZoneNum 不适用。我有 1-30 个外部区域编号加上另一个外部区域编号 410。

31-409 是“内部”区域,不能重新编号。所以我必须将 maxExternalZoneNum 定义为一个值范围,1:30 和 410。

我可以部署哪些方法来有效地处理 maxExternalZoneNum 中的更改,以免中断此代码的执行?

4

1 回答 1

1
district$zone<-with(district,ifelse((zone<=30|zone==410),"external","internal")

或者您可以%in%按照 Frank 的建议使用:

district$zone<-with(district,ifelse((zone %in% c(1:30,410)),"external","internal")
于 2013-08-26T17:15:09.130 回答