【发布时间】:2020-11-19 20:51:19
【问题描述】:
在我当前的数据集中,我有一列用于州名称,然后是其他几列,其中包含每个州的一些健康信息。基本上我想添加一个区域列,说明每个州所在的区域。这是我迄今为止尝试过的:
但是,我得到的错误是较短的对象长度不是较长对象长度的倍数。我知道这意味着每个向量的长度不同,因此它不会应用参数。我本质上是想说“如果状态名称=该项目中的状态之一,则对其应用适当的区域”。任何帮助表示赞赏。
【问题讨论】:
在我当前的数据集中,我有一列用于州名称,然后是其他几列,其中包含每个州的一些健康信息。基本上我想添加一个区域列,说明每个州所在的区域。这是我迄今为止尝试过的:
但是,我得到的错误是较短的对象长度不是较长对象长度的倍数。我知道这意味着每个向量的长度不同,因此它不会应用参数。我本质上是想说“如果状态名称=该项目中的状态之一,则对其应用适当的区域”。任何帮助表示赞赏。
【问题讨论】:
尝试使用%in%,因为== 只检查向量中的第一个值:
#Code
cleandata$Region[cleandata$statename %in% south] <- "South"
cleandata$Region[cleandata$statename %in% midwest] <- "Midwest"
【讨论】:
cleandata$Region<-tolower(trimws(cleandata$Region)) 并对south<-tolower(trimws(south)) 等向量执行相同的操作