好的,我有一个从Pew Research Center下载的数据框。其中一列(称为“cregion”)包含一系列1-56的数字,每个数字对应于美国的地理位置。这些位置中的大多数是状态,另外6个位于子状态级别。因此,例如,数字“1”对应于“Alabama”,“11”对应于“哥伦比亚特区”。
我想要做的是将'cregion'列中的每个数字替换为它对应的区域的ACTUAL名称。遗憾的是,此数据框中没有可用于交换值的列,因为数字对应于哪个区域完全独立存在的关键字(word文档)。我是R的新手,虽然我一直在寻找几个小时的最佳方式来解决这个问题,但我似乎无法找到一种方法可行(或者我只是不明白这个解释)。任何人都可以向我推荐一种方法吗?
答案 0 :(得分:0)
如果你有一个状态名称的矢量作为名为statevec
的字符串,其第i个元素对应于cregion i,而你的数据框名为dat
,那么只需执行
dat <- data.frame(cregion = sample(1:50), stuff = runif(50))
head(dat)
# cregion stuff
#1 25 0.665843896
#2 11 0.144631131
#3 13 0.691616240
#4 28 0.507454243
#5 9 0.416535139
#6 30 0.004196311
statevec <- state.name
dat$cregion <- statevec[dat$cregion]
head(dat)
# cregion stuff
#1 Missouri 0.665843896
#2 Hawaii 0.144631131
#3 Illinois 0.691616240
#4 Nevada 0.507454243
#5 Florida 0.416535139
#6 New Jersey 0.004196311