《从Excel到R 数据分析进阶指南》一第4章 数据预处理4.1 数据合并

第4章 数据预处理

从Excel到R 数据分析进阶指南
本章是对清洗完的数据进行整理,以便后期的统计和分析工作,主要包括数据表的合并、排序、数据分列、数据表匹配和设置索引列等工作。

4.1 数据合并

首先是对不同的数据表进行合并。数据表的合并有3种,即横向合并、纵向合并和增加新字段。我们这里创建一个新的数据表df1,并将df和df1两个数据表进行纵向合并。

df1<-data.frame(id=c(1007,1008,1009,1010),
city=c("Beijing","shenZhen","guangzhou","shenzhen"),
age=c(25,34,24,37),
category=c("100-D","100-A","110-C","110-A"),
price=c(1600,2633,2433,4442))

纵向合并的意思就是在数据表的后面追加新的行记录,R中使用rbind()函数来完成这个工作。下面是具体的代码,将df和df1两个数据表进行纵向合并。

#合并数据表
df<-rbind(df,df1)

第二种数据表合并的方法是在现有的数据表中增加新的字段。增加新字段的方法有两种,将现有的字段进行合并,通过现有字段进行计算后生产新字段。

下面的代码中我们使用paste()函数将id和city字段进行合并,生产新的id_city字段,并合并在df数据表中。

#合并两个字段的内容
id_city<-paste(df$id,df$city)
df=cbind(df,id_city)

另一种方法是对数据表中的字段进行计算,产生新的字段。下面的代码中对price进行计算生产每条记录在price中的比率字段,并合并在原有的数据表中。

#计算新字段并合并
rate=round(df$price/sum(df$price),digits = 2)
[1] 0.04 0.11 0.07 0.17 0.11 0.14 0.05 0.08 0.08 0.14

df=cbind(df,rate)

时间: 2024-09-11 22:07:41

《从Excel到R 数据分析进阶指南》一第4章 数据预处理4.1 数据合并的相关文章

《从Excel到R 数据分析进阶指南》一2.8 查看前10行数据

2.8 查看前10行数据 head()函数用来查看数据表中的前N行数据,默认head()显示前10行数据,可以自己设置参数n的值来确定查看的行数.下面的代码中n=2设置查看前2行的数据. #查看前两行 head(df,n = 2)

《从Excel到R 数据分析进阶指南》一导读

序 从Excel到R 数据分析进阶指南 Excel是数据分析中最常用的工具.本书通过R与Excel的功能对比介绍如何使用R通过函数式编程完成Excel中的数据处理及分析工作.我们总结出最常用的50个函数.通过这些函数介绍如何通过R完成数据生成和导入.数据清洗.预处理,以及最常见的数据筛选,回归预测和假设检验等最常见的操作. 目 录 第1章 生成数据表1.1 导入数据表1.2 创建数据表第2章 数据表检查2.1 数据维度(行列)2.2 查看数据表2.3 查看特定列的格式2.4 查看空值2.5 查看

《从Excel到R 数据分析进阶指南》一第3章 数据表清洗3.1 处理空值(删除或填充)

第3章 数据表清洗 从Excel到R 数据分析进阶指南 本章是对数据表中的问题进行清洗,主要内容包括对空值.大小写问题.数据格式和重复值的处理.这里不包含对数据间的逻辑验证. 3.1 处理空值(删除或填充) 我们在创建数据表的时候,在price字段中故意设置了几个NA值.对于空值的处理方式有很多种,既可以直接删除包含空值的数据,也可以对空值进行填充,比如用0填充或者用均值填充.还可以根据不同字段的逻辑对空值进行推算. Excel中可以通过"查找和替换"功能对空值进行处理,将空值统一替换

《从Excel到R 数据分析进阶指南》一第2章 数据表检查2.1 数据维度(行列)

第2章 数据表检查 从Excel到R 数据分析进阶指南R中处理的数据量与在Excel中处理的数据量相比会大一些,因此我们无法一目了然地了解数据表的整体情况,必须要通过一些方法来获得数据表的关键信息.数据表检查的另一个目的是了解数据的概况,例如整个数据表的大小.数据格式.是否有空值和重复项和具体的数据内容,为后面的清洗和预处理做好准备. 2.1 数据维度(行列) Excel中可以通过Ctrl+向下的光标键,和Ctrl+向右的光标键来查看行号和列号.R中使用dim()函数来查看数据表的维度,也就是行

《从Excel到R 数据分析进阶指南》一第1章 生成数据表1.1 导入数据表

第1章 生成数据表 从Excel到R 数据分析进阶指南常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据. Excel中的"文件"菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入. 1.1 导入数据表 R支持从多种类型的数据导入.下面分别是从csv格式文件导入数据并创建数据表的方法.导入数据的代码是最简模式,里面有很多可选参数设置,例如列名称.索引列.数据格式等.感兴趣的朋友可以使用help函数来查看完整的使用方法. #导入csv数据表 data

《从Excel到R 数据分析进阶指南》一4.4 数据表匹配

4.4 数据表匹配 数据匹配是我们在经常使用的操作之一,我们这里创建一个新的数据表df2,并将df和df1两个数据表进行合并.在Excel中可以通过VLOOKUP函数实现.在R中可以通过merge()函数一次性实现.下面建立df2数据表,用于和df数据表进行合并. df2<-data.frame(id=c(1001,1002,1003,1004,1005,1006,1007,1008), gender=c('male','female','male','female','male','femal

《从Excel到R 数据分析进阶指南》一2.6 查看数据表数值

2.6 查看数据表数值 R中有多个函数用来查看数据表中的数据,包括数据的范围.数据的极值等等. #查看数据范围 range(df$age) [1] 23 54 #查找最小值 min(df$age) [1] 23 #查看最小值最在的行位置 which.min(df$age) [1] 1 #查找最大值 max(df$age) [1] 54 #查看最大值所在的行位置 which.max(df$age) [1] 3

《从Excel到R 数据分析进阶指南》一2.4 查看空值

2.4 查看空值 Excel中查看空值的方法是使用"定位条件"功能对数据表中的空值进行定位."定位条件"在"开始"目录下的"查找和选择"目录中. Is.na是R中检验空值的函数,返回的结果是逻辑值,包含空值返回True,不包含则返回False.你可以对整个数据表进行检查,也可以单独对某一列进行空值检查. #查看空值 is.na(df) #查看单列的空值 is.na(df$price) [1] FALSE TRUE FALSE

《从Excel到R 数据分析进阶指南》一4.2 数据排序

4.2 数据排序 Excel中可以通过数据目录下的排序按钮直接对数据表进行排序,比较简单.R中需要使用order()函数完成排序. 首先,我们按id对数据表进行排序.decreasing参数为TRUE表示逆序. #对数据表按id列进行排序(逆序) df[order(df$id,decreasing = TRUE),] 省略decreasing参数默认为正序排序.下面的代码按rate对数据表进行排序. #对数据表按rate列进行排序(正序) df[order(df$rate),] 也可以同时多数据