r - 合并具有拼写错误变量的重复行
问题描述
我只是在学习 R(和 dplyr),并且遇到了一个可能很简单的问题,尽管我花了几个小时研究却没有答案。我在数据框中 有两列, A
(字符)和(整数)。B
由于原始数据中的拼写错误(在 A 列中),数据框包含额外的行,因此必须将许多行折叠成单行(同时sum()
在列中折叠它们的整数值(通过)B
)。
例如,可能有三行应该是一:
汽车.........MPG
马自达............5
马自达...... 2
马自达…………1
应该
车…………MPG
马自达............ 8
我正在使用dplyr
, 并试图找到可以折叠具有相似字符(例如三个字母)的行并将管道返回到原始表中的方式。
任何想法或方向,最好使用基础 R 或 dplyr 将不胜感激。
解决方案
DF
使用末尾注释中可重复显示的输入,使用或phonics 包soundex
中的其他函数之一为每个 CAR 派生一个密钥,然后通过密钥进行汇总:
library(dplyr)
library(phonics)
DF %>%
group_by(key = soundex(CAR)) %>%
summarize(CAR = toString(CAR), MPG = sum(MPG)) %>%
ungroup %>%
select(-key)
给予:
# A tibble: 1 x 2
CAR MPG
<chr> <int>
1 Mazda, Mazzda, Mzda 8
笔记
Lines <- "CAR MPG
Mazda 5
Mazzda 2
Mzda 1"
DF <- read.table(text = Lines, header = TRUE, as.is = TRUE, strip.white = TRUE)
推荐阅读
- javascript - 如何调用restfull webservice并传递JSON数据并以字符串形式获取响应
- javascript - 通过使用工具栏粘贴链接进行超文本处理
- android - 如何拆分其中包含 Ques 和 Answer 的 API 响应。我想将它拆分为expandableListView android
- three.js - blender export gltf 用于three.js - 不显示烟雾和颗粒
- jquery - 使用 .jsp 扩展名时 Jquery 不工作
- security - Docker 本地和共享网络
- reactjs - 使用带有联合类型的打字稿对 React 组件进行 Visual Studio Code 智能感知
- html - 如何使用 Git 自动更新托管在 Raspberry Pi 中的网站?
- javascript - 用 JS 检查 URL
- android - 更好地声明具有生成值的常量