R总结|R语言连接数据总结
专题介绍:R是一种广泛用于数据分析和统计计算的强大语言,于上世纪90年代开始发展起来。得益于全世界众多 爱好者的无尽努力,大家继而开发出了一种基于R但优于R基本文本编辑器的R Studio(用户的界面体验更好)。也正是由于全世界越来越多的数据科学社区和用户对R包的慷慨贡献,让R语言在全球范围内越来越流行。其中一些R包,例如MASS,SparkR, ggplot2,使数据操作,可视化和计算功能越来越强大。R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R作为一种统计分析软件,是集统计分析与图形显示于一体的。它可以运行于UNIX、Windows和Macintosh的操作系统上,而且嵌入了一个非常方便实用的帮助系统,相比于其他统计分析软件,R的学术性开发比较早,适合生物学和医学等学术学科的科研人员使用。
这是我的第3篇付费文章,关于R语言连接数据总结。
阅读完本文,你可以得到:
1 连接数据的方式
2 R语言连接数据函数merge的使用
3 R语言连接数据R包sqldf的使用
4 R语言连结数据R包dplyr的使用
1 连接数据的方式
我在做数据工作的过程中,连接数据的方式,包括两种情况。
一是 横向连接,基于关联键的连接,丰富样本的特征集,逐步形成一张可供研究和分析的宽表。
二是 纵向连接,具有相同特征的样本集做进一步扩充,增加了样本集的数目。
通常,横向连接的频次要远高于纵向连接。因为我们所遇到的数据时常分布在不同的数据源,所以需要通过表格之间的关联键把数据连接在一起,这个时候就需要使用到横向连接。横向连接,可以进一步细分为内连接和外连接,而外连接包括左连接,右连接和全连接。内外连接的理解,如下图所示。
2 R语言连接数据merge函数的使用
我们先使用R语言自带的merge函数实现数据的内连接和外连接。
merge函数描述如下:
通过红色方框里面的merge函数,发现:
1)默认是内连接
2)通过by指定两个数据框x和y进行关联的变量
3)all.x = True 表示左连接;all.y = True,表示右连接;all = True,表示全连接
4)若是两个数据的关联字段不一样时,by.x 指定数据框x用于关联的字段,by.y指定数据框y用于关联的字段
举例说明:
# 构造数据集
df1 <- data.frame(CustomerId = c(1:6),
Product = c(rep("Toaster", 3), rep("Radio", 3)))
df2 <- data.frame(CustomerId = c(2, 4, 6),
State = c(rep("Alabama", 2), rep("Ohio", 1)))
df1
df2
# 内连接
data1 <- merge(df1, df2)
data1
# 左连接
data2 <- merge(df1, df2, all.x = TRUE)
data2
# 右连接
data3 <- merge(df1, df2, all.y = TRUE)
data3
# 全连接
data4 <- merge(df1, df2, all = TRUE)
data4
实例结果:
使用merge函数的注意事项:
1)merge函数中参与关联的变量数据类型要保持一致,若是不一致,在做连接之前,先进行数据类型转换的处理。常有的就是数字转换字符或者字符转换为数字
2)连接的方式通过参数all.x,all.y,all来设置,关联的字段通过参数by,by.x,by.y来设置。
3)若是涉及到两个以上的数据源做连接,可以采用多重merge函数来实现。
3 R语言连接数据R包sqldf的使用
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!