r - 如何使用字典在r中构造另一个变量?

标签 r dictionary hash

我最近获得了一个人口普查数据集并成功转换为 R 格式。然而,我刚刚注意到该国的地区被记录为从 901 到 911 的数字。我认为我可以创建一个带有哈希函数的字典,并使用它创建一个单独的变量,将地区名称列为字符。有谁知道如何做到这一点?

最佳答案

两个选项:

dat <- data.frame(id = 1:10,region = sample(901:911,size = 10,replace = TRUE))

# Option 1 - left join
 key1 <- data.frame(region = 901:911,
                    region_name = paste("Region",901:911),stringsAsFactors = FALSE)

library(dplyr)
> left_join(dat,key1,by = "region")
   id region region_name
1   1    902  Region 902
2   2    902  Region 902
3   3    903  Region 903
4   4    903  Region 903
5   5    911  Region 911
6   6    909  Region 909
7   7    902  Region 902
8   8    911  Region 911
9   9    906  Region 906
10 10    905  Region 905

# Option 2 - Indexing
key2 <- setNames(paste("Region",901:911),901:911)
dat$region_name <- key2[as.character(dat$region)]
> dat
   id region region_name
1   1    902  Region 902
2   2    902  Region 902
3   3    903  Region 903
4   4    903  Region 903
5   5    911  Region 911
6   6    909  Region 909
7   7    902  Region 902
8   8    911  Region 911
9   9    906  Region 906
10 10    905  Region 905

关于r - 如何使用字典在r中构造另一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57256125/

相关文章:

r - 根据列中相同重复的数量对 data.frame 进行排序

python - “列表”对象没有属性 'find'

php - 如何从 PHP 中的字符串中获取 64 位整数散列?

php - 如何将用户创建的内容保存为 URL(哈希)参数?

json - 在 Perl 中,如何查询 JSON::Path 对象并返回匹配元素的路径?

r - 在 Mac/Linux 上从 R 连接到 MS SQL Server

r - r 中的方差分析和比较(正交单 df)的划分

r - 基于时间序列的每日数据预测,但季节性是季度性的 - 在 R 中

ios - Mapbox 对矢量瓦片有什么支持?

python - 在 Python 列表中高效搜索部分字符串