如何在R数据帧中创建具有状态区域的新列



我有一个数据帧,它包含一个带有状态缩写的列,即;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语言工作得更好,所以请参阅此图,了解我为类似任务所做的工作!它更乏味,但说实话,它没有花很长时间,对我来说更容易消化,而不必查找新技术。希望这能有所帮助。

最新更新