r - 将缩写词转换为完整词
问题描述
我试图避免在 excel 中编写长的嵌套 ifelse 语句。
我正在处理两个数据集,一个有缩写和县名。
Abbre
COUNTY_NAME
1 AD Adams
2 AS Asotin
3 BE Benton
4 CH Chelan
5 CM Clallam
6 CR Clark
另一个包含县缩写和投票的数据集。
CountyCode Votes
1 WM 97
2 AS 14
3 WM 163
4 WM 144
5 SJ 21
对于第二个表,如何将县代码(缩写)转换为完整的拼写文本并将其添加为新列?
我一直在尝试使用 grep、match 和 %in% 来解决这个问题,但没有成功。显然,我遗漏了一些东西,任何见解都将不胜感激。
解决方案
另一个基本 R 选项使用match
df2$COUNTY_NAME <- with(
df1,
COUNTY_NAME[match(df2$CountyCode, Abbre)]
)
给
> df2
CountyCode Votes COUNTY_NAME
1 WM 97 <NA>
2 AS 14 Asotin
3 WM 163 <NA>
4 WM 144 <NA>
5 SJ 21 <NA>
一个data.table
选项
> setDT(df1)[setDT(df2), on = .(Abbre = CountyCode)]
Abbre COUNTY_NAME Votes
1: WM <NA> 97
2: AS Asotin 14
3: WM <NA> 163
4: WM <NA> 144
5: SJ <NA> 21
推荐阅读
- validation - 来自不同电子表格的数据验证范围
- go - 无法在 go 中声明嵌入式结构的字段
- java - 避免 WorkManager 立即运行?
- php - 一个新手 PHP 问题 - 从 URL 中隐藏 PHP 变量
- php - 在 PHP 数组赋值中抛出一个奇怪的错误
- python - 如何更改导致烧瓶中的 TypeError 的 Python 函数
- web - 无法连接到我的应用程序服务器上的本地主机,但可以通过网络访问它
- prestashop - prestashop 自定义计算添加到基本价格
- python - 如何强制 withColumn 按时间顺序逐行工作?
- c# - 堆栈中的每个对象都为空