本节书摘来自异步社区《从Excel到R 数据分析进阶指南》一书中的第4章,第4.1节,作者 王彦平(蓝鲸),更多章节内容可以访问云栖社区“异步社区”公众号查看
从Excel到R 数据分析进阶指南本章是对清洗完的数据进行整理,以便后期的统计和分析工作,主要包括数据表的合并、排序、数据分列、数据表匹配和设置索引列等工作。
首先是对不同的数据表进行合并。数据表的合并有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) 相关资源:r软件数据分析 数据(forestfires)