R语言之merge详解
merge是R语言中用来合并数据框的函数
merge函数的声明:
1
2
3
4
|
merge(x, y, by = intersect(names(x), names(y)), by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all, sort = TRUE, suffixes = c( ".x" , ".y" ), incomparables = NULL, ...) |
merge函数参数的说明:
x,y:用于合并的两个数据框
by,by.x,by.y:指定依据哪些行合并数据框,默认值为相同列名的列.
all,all.x,all.y:指定x和y的行是否应该全在输出文件.
sort:by指定的列是否要排序.
suffixes:指定除by外相同列名的后缀.
incomparables:指定by中哪些单元不进行合并.
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
w1: NAME SCHOOL CLASS ENGLISH A S1 10 85 B S2 5 50 A S1 4 90 A S1 11 90 C S1 1 12 w2: NAME SCHOOL CLASS MATHS ENGLISH A S3 5 80 88 B S2 5 89 81 C S1 1 55 32 |
按照NAME, SCHOOL, CLASS合并w1和w2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
merge(w1, w2, all = T) NAME SCHOOL CLASS ENGLISH MATHS 1 A S1 4 90 NA 2 A S1 10 85 NA 3 A S1 11 90 NA 4 A S3 5 88 80 5 B S2 5 50 NA 6 B S2 5 81 89 7 C S1 1 12 NA 8 C S1 1 32 55 merge(w1, w2, by = c( "NAME" , "SCHOOL" , "CLASS" ), all = T) NAME SCHOOL CLASS ENGLISH.x MATHS ENGLISH.y 1 A S1 4 90 NA NA 2 A S1 10 85 NA NA 3 A S1 11 90 NA NA 4 A S3 5 NA 80 88 5 B S2 5 50 89 81 6 C S1 1 12 55 32 merge(w1, w2, all = T, incomparables = "A" ) Error in merge.data.frame(w1, w2, all = T, incomparables = "A" ) : 'incomparables' is supported only for merging on a single column merge(w1, w2, all = T, by = "NAME" , incomparables = "A" ) NAME SCHOOL.x CLASS.x ENGLISH.x SCHOOL.y CLASS.y MATHS ENGLISH.y 1 A S1 10 85 <NA> NA NA NA 2 A S1 4 90 <NA> NA NA NA 3 A S1 11 90 <NA> NA NA NA 4 A <NA> NA NA S3 5 80 88 5 B S2 5 50 S2 5 89 81 6 C S1 1 12 S1 1 55 32 |
将数据框中的NA变成0
dataframe[is.na(dataframe)]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2019-11-11 mysql主从配置实现一主一从读写分离