我有一个数据帧,它包含一个带有状态缩写的列,即;IA"IL"IN";,等等。我想在我的数据帧中创建一个新的列,该列为每一行分配相应的区域;Midwest"东北,";等等。有没有一个包或好的方法可以手动/用mutate()
或类似的东西做到这一点?
我们可以使用内置向量来匹配和替换
df1$region <- setNames(state.region, state.abb)[df1$stateabb]
-输出
> df1
stateabb region
1 AL South
2 CO West
3 CT Northeast
数据
df1 <- structure(list(stateabb = c("AL", "CO", "CT")),
class = "data.frame", row.names = c(NA,
-3L))
是的,R有两个包-state.abb有所有的州缩写,state.region有它们的地区。你不需要突变,只需找到
我使用tidyverse语言工作得更好,所以请参阅此图,了解我为类似任务所做的工作!它更乏味,但说实话,它没有花很长时间,对我来说更容易消化,而不必查找新技术。希望这能有所帮助。