数据清洗点点点之DataEditR包
大家好,我是阿琛。在上一期的内容中,我们介绍了如何使用ggplot2包的小助手---esquisse包,在RStudio交互页面中通过鼠标点点点的方式来快速绘制相应的图形(“哪里不会点哪里,傻瓜式极速出图,esquisse新年助力ggplot2”)。既然可视化过程可以和在线网页工具一样来完成的话,数据清洗与筛选当然也存在一种和Excel类似的模式,将Excel中的使用方法搬到RStudio中,大大降低数据清洗的门槛,岂不是简便易行,更受欢迎~~
考虑到在R中手动输入和编辑数据可能很繁琐,尤其是对于新手而言。DataEditR包,最初于2020年7月23号发布于GitHub上,目前已经被CRAN收录了,是一个基于shiny且可扩展的交互式R程序包,可以轻松地交互查看,输入,过滤和编辑数据。
下面,我们一起来看一下如何使用DataEdit包对数据进行快速修改和清洗。
1.R包安装与读取

1.1 R包的安装

###从CRAN安装options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))install.packages("DataEditR")###从GitHub安装devtools::install_github("DillonHammill/DataEditR")

对于DataEditR包的安装,我们可以直接使用install.packages()代码即可完成。当然,如果想要保持最新更新版本,也可以从GitHub上进行下载。

1.2 读取R包

library(DataEditR)

安装完成后,使用library()来检验是否安装成功。
2.打开交互界面
data_edit()

在DataEditR包中,存在一个名为data_edit()的函数;通过该函数,我们可以在RStudio中打开一个交互式界面在R中进行交互查看,输入或编辑数据;点击“Browse”,即可本地上传数据。
其中,根据作者介绍,数据编辑器的主要功能总结如下:
  • 快速查看数据的方法
  • 从头开始创建data.frame
  • 使用任何读取功能(例如read.csv())加载保存到文件的表格数据
  • 即使已指定行名,也始终包含行索引
  • 添加/删除行或列
  • 编辑行名或列名
  • 手动调整列大小
  • 拖动一个单元格以填充其他单元格
  • 将其他软件中的数据直接粘贴到编辑器中
  • 在加载数据编辑器之前以编程方式添加列/行
  • 将编辑的数据复制并粘贴到其他软件中
  • 可以选择使用任何写入功能(例如write.csv())将编辑后的数据保存到文件中
  • 编辑后的数据导出为矩阵或data.frame以在R中使用
  • 默认情况下,数据编辑器在RStudio Viewer窗格中打开,但可以更改为在弹出窗口或Web浏览器中打开
  • 使用Shinythemes主题自定义外观
  • 开发者可以添加复选框或下拉列以供用户输入
  • 开发者可以使用自己的程序包徽标和标题来自定义数据编辑器
3.数据编辑演示
下面,通过具体的数据,来看看这些相关的功能。在此,我们还是使用内置数据mtcars来进行演示。
#打开交互式界面data_edit(mtcars)#在浏览器中打开data_edit(mtcars,viewer = "browser")
指定好数据集后,我们可以在RStudio中或者通过对参数viewer进行指定,从而从浏览器中打开。当然,对于数据集,既可以是内置数据集,也可以读取到Environment中的data.frame或矩阵等形式。

3.1 编辑数据内容

对于表中的数据内容,我们可以直接选中需要修改的内容,双击鼠标,输入修改后的数据即可快速完成修改;
3.2 行(rownames)与列(colnames)名称重新编辑
不知道大家还记得如何对数据集的行名或者列名进行修改的方法吗?
colnames(mtcars)[2] <- "achen"
然而,在DataEditR包中,可以直接鼠标选中需要修改的行名和列名,输入需要修改的新名字“achen”,进行修改;

3.3 添加/删除行或列

在Excel中,有一种受到众人喜爱的十分简便的方法,可以随意的添加或删除行和列。在此,我们也可以在这个R包中快速实现。选择某一格后,右键鼠标,即可看到相应的功能,包括Insert rows above(在上方添加行),Insert rows below(在下方添加行),Remove row(移除行),Insert column left(在左侧添加列),Insert column right(在右侧添加列),Remove column(移除列)等;没错,还有两个在微软办公软件中常见的功能也出现了,撤回(Undo)和重做(Redo)。

3.4 手动调整列大小

当某列中内容过长时,我们可以选中该列,通过鼠标来手动调整列的大小;

3.5 拖动填充

和Excel一样,选中某一格内容后,快速下来,即可自动填充空格内的内容;

3.6 筛选行

为了便于后续的分析,我们需要对用于分析的列进行选择。
1.首先,点击第一个按钮;
2.对需要筛选的列进行选择,其中绿色为选中列,红色为取消不选;随后,点击旁边的close关闭即可完成。
3.对列选择完成后,点击第二个按钮,对列内的变量进行选择;
4.在Column中选择列名“cyl”,在Logic中选择逻辑方式,如“greater than”(大于);在Levels中选择筛选标准,如选择变量cyl中大于6的行;选择完成后,点击“Close”即可完成。

3.7 保存结果

所有筛选与编辑完成后,点击第四个按钮,即可将最后的结果保存到本地。
当然,也可以将编辑后的结果直接保存到环境变量Environment中;
rt <- data_edit(mtcars)
点击最后一个按钮,使得按钮✂变绿,随后点击按钮Done,即可将最终的结果保存到新变量rt中,用于后续的分析与绘图。
好啦,今天的内容就介绍到这里了。当然,如果你觉得不错的话,在使用DataEditR包的同时,记得引用R包对应的文章;
甚至,不妨试试将DataEditR包和上一期的esquisse包相互结合,会有意想不到的简便效果呢~~~
回复“阿琛45”即可获得本次的代码内容~
系列传送门
R语言小白入门课|一刻钟带你学会R数据转化
END

撰文丨阿  琛
排版丨四金兄
值班 | 弘   毅

主编丨小雪球
长按识别二维码免费包邮领取!
继续阅读
阅读原文