我有一个数据框 A ,其中一列名为" states"。各州以其全名记录,例如。 "加州&#34 ;.每个州都有多行。
我有一个数据框 B ,其中包含每个州的枪死数。状态以缩写记录,例如。 " CA"
我想要的是:我希望 A 中的每一行都有相应状态的枪死数。我打算为此使用dplyr :: inner_join()。
但当然,问题在于不同数据框中的状态名称是不同的。
使名称匹配的最佳方法是什么?
答案 0 :(得分:5)
如果你有两个相同长度的向量并想构建一个转换表,只需添加状态名称的输入向量作为状态缩写的输出向量的names
- 属性,然后传入名称作为" [" -function:
names(state.abb) <- state.name
# both are in-built values in the `state`-item of default `datasets` package
?state # also See: ?Constants and ?data
dfrm$abbrev <- state.abb[dfrm$states]