专栏首页庄闪闪的R语言手册给数据科学家的10个提示和技巧Vol.4

给数据科学家的10个提示和技巧Vol.4

原文10 Tips And Tricks For Data Scientists Vol.4[1]

译者:赵西西

原博客简介:Predictive Hacks 是与数据科学相关的一切的在线资源中心。该博客由一群数据科学家所运营,专注于讲解在各种领域如何使用大数据技术(从机器学习和人工智能到业务领域)。

1 引言

前面已经介绍了一些数据分析的技巧,主要是用Python和R实现。具体内容可见:翻译|给数据科学家的10个提示和技巧Vol.1翻译|给数据科学家的10个提示和技巧Vol.2给数据科学家的10个提示和技巧Vol.3。今天主要是对博客的第4,5篇进行整合,并进行筛选,给出最为常用的一些数据处理的技巧。主要讲解 R,如果你对python感兴趣可以看文末的链接噢!

2 R

2.1 对不同元素进行累积计数

有时,我们会遇到有重复元素的列表(或向量),并需要对其中包含的不同值进行累积计数,这时只需要累加列表(或向量)中新元素出现的次数。

例如,有如下列表:

x=c("e", "a","a","b","a","b","c", "d", "e")

统计其中不同的元素个数:

data.frame(Vector=x,CumDistinct=cumsum(!duplicated(x)))

输出结果如下:

2.2 利用样本信息补齐缺失值

在处理数据时,常常会遇到有缺失值的情况,常用的解决方法有:(1)删除缺失值;(2)利用样本信息补齐缺失值,如均值、中位数等。

以下面数据为例:

df<-data.frame(id=seq(1,10), ColumnA=c(10,9,8,7,NA,NA,20,15,12,NA), 
           ColumnB=factor(c("A","B","A","A","","B","A","B","","A")),
           ColumnC=factor(c("","BB","CC","BB","BB","CC","AA","BB","","AA")),
           ColumnD=c(NA,20,18,22,18,17,19,NA,17,23)
)
  
df

在R中,可以利用na.omit=True删除缺失值,这种方法适用于缺失值较少的情况;若数据缺失值较多,可利用样本信息进行补齐,方法如下:

df[sapply(df, is.numeric)] <- lapply(df[sapply(df, is.numeric)], function(x) ifelse(is.na(x), mean(x, na.rm = TRUE), x))
df

2.3 tidyverse:用select_if筛选列

dplyr包中的select_if函数,在按条件筛选列时非常有用,并且还可以添加不同函数来修改列名。

例如:我想选择数值型变量,并修改列名添加前缀“numeric_”。

library(tidyverse)
 
iris%>%select_if(is.numeric,  list(~ paste0("numeric_", .)))%>%head()

2.4 tidyverse:用where筛选列

对2.3的例子使用where实现相同操作:

library(tidyverse)
 
iris%>%rename_with(~ paste0("numeric_", .), where(is.numeric))%>%
       select(where(is.numeric))%>%head()

2.5 tidyverse:用relocate指定列的位置

relocate()是dplyr1.0.0中的新添加的。可以使用.before.after指定列的确切位置。

例如:我想要Petal.Width放在Sepal.Width后面

library(tidyverse)
iris%>%relocate(Petal.Width, .after=Sepal.Width)%>%head()

或者:我想让Petal.Width作为最后一列:

iris%>%relocate(Petal.Width, .after=last_col())%>%head()

参考资料

[1]

10 Tips And Tricks For Data Scientists Vol.4: https://predictivehacks.com/10-tips-and-tricks-for-data-scientists-vol-4/

本文分享自微信公众号 - 庄闪闪的R语言手册(Zss_R4ds),作者:我才是赵西西

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 给数据科学家的10个提示和技巧Vol.3

    原文:10 Tips And Tricks For Data Scientists Vol.3[1]

    庄闪闪
  • 翻译|给数据科学家的10个提示和技巧Vol.2

    原文:10 Tips And Tricks For Data Scientists Vol.2[1]

    庄闪闪
  • 翻译|给数据科学家的10个提示和技巧Vol.1

    原博客简介:Predictive Hacks是与数据科学相关的在线资源中心。该博客是由一群数据科学家运营,专注于讲解在各种领域如何运用大数据技术(从机器学习和人...

    庄闪闪
  • 提高数据科学家讲故事能力的5个小技巧

    讲故事是一门艺术。随着时间的推移,讲故事的技巧、方法和工具发生了变化,但主要概念和目标保持不变,即有效地吸引你的观众,使他们能够真正地与你所说的联系起来。

    deephub
  • 数据科学家必看!处理数据的 7 个小技巧

    在没有最基本的、必要的、未经处理数据的情况下,我们应该如何为机器学习的概念建立原型并加以验证呢?在资源匮乏的情况下,我们应如何有效地获取并用数据创造价值?

    AI研习社
  • 授权首发:徐亦达老师精选论文集和课件下载

    徐亦达老师和他的团队精选了70篇论文,其中包括了非参贝叶斯算法的研究和应用,行列式点过程,3D计算机视觉,带约束下几何优化,非负矩阵分解,视频跟踪,GAN的文字...

    黄博的机器学习圈子
  • 深度学习碰上古文献,西南大学提出基于CNN的古彝文识别方法

    摘要:作为世界六大古文字之一的古彝文记录下几千年来人类发展历史。针对古彝文的识别能够将这些珍贵文献材料转换为电子文档,便于保存和传播。由于历史发展,区域限制等多...

    机器之心
  • 第2期 | 国内脑机接口领域专家教授汇总(修改)

    第1期分享出来后,很多朋友在后台留言表示,这个汇总真是太有用了。说实话自己做的一些事能给他人带去帮助,是非常的开心。

    脑机接口社区
  • 征服数据科学面试的10个小技巧(附资源)

    大数据文摘
  • Smarting:第一款真正意义上的便携式可移动脑电设备

    目前市面上有很多脑电设备都号称是便携式可移动的,但是笔者认为,今天我要介绍的Smarting这款脑电设备才是第一款真正意义上的便携式可移动EEG设备。为什么这样...

    悦影科技
  • ICRA 2018奖项全公布,中国香港大学团队获最佳会议论文

    ICRA 2018 本周于澳大利亚布里斯班举行。随着会议议程的推进,今天也迎来了本次大会的重头戏——ICRA 相关奖项的颁布仪式

    AI科技评论
  • 自动机器学习:最近进展研究综述

    深度学习已经运用到多个领域,为人们生活带来极大便利。然而,为特定任务构造一个高质量的深度学习系统不仅需要耗费大量时间和资源,而且很大程度上需要专业的领域知识。

    磐创AI
  • 【系列文章】面向自动驾驶的三维点云处理与学习(6)-完结篇

    标题:3D Point Cloud Processing and Learning for Autonomous Driving

    点云PCL博主
  • GitHub上的7个数据科学项目,以展示机器学习技巧!

    轻松应对数据科学项目是一个令人难以置信的方法,以摆脱挑战看看GitHub上的这7个数据科学项目将改善成熟能力范围这些GitHub仓库包含来自各种数据科学领域的项...

    代码医生工作室
  • AutoML: A Survey of the state-of-the-art

    https://arxiv.org/pdf/1908.00709.pdf​arxiv.org

    marsggbo
  • 循环神经网络的增强方法:注意力机制以及更多

    AI 科技评论按:一提起 RNN,我们最容易想到的实现就是 LSTM + attention。LSTM 作为经典的网络结构可谓是老当益壮,而另一方面注意力机制过...

    AI科技评论
  • 万字长文:集群智能机器人的过去、现在与未来

    到目前为止,只有少数实验成功地演示了大量的自治自组织机器人,而集群机器人的实践应用仍是一片空白。

    AI科技评论
  • 【综述】自动机器学习最近研究进展

    本文首先从端到端系统的角度总结了自动机器学习在各个流程中的研究成果,然后着重对最近广泛研究的神经结构搜索进行了总结,最后讨论了一些未来的研究方向。

    yuquanle
  • 年终收藏! 一文看尽2020年度最「出圈」AI论文合集

    疫情之下,通过各种方式,全球的研究者继续积极合作,发表了许许多多有影响力的成果——特别是在人工智能领域。

    新智元

扫码关注云+社区

领取腾讯云代金券