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

本节书摘来自异步社区《从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))


0e30bc73b03e94702baafd0ae862a7b0868b2553

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

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


4cf8886e5b380098d195ace9240e241326b3de4a

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

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

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


a89d3486f5ff633a6f1560f356cfe86ca1d1f950

另一种方法是对数据表中的字段进行计算,产生新的字段。下面的代码中对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)


d5eafb24e46a9bab95eaa529d63ed6f3fc1b0027
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值