R中按行名称合并数据帧
在本文中,我们将看到如何使用 R 编程语言中的 merge 来按行名称合并 Dataframe。
基础 R 中的 merge()函数可用于按公共列或行名称合并输入数据帧。 merge()函数保留数据帧的所有行名称,其行为类似于内部联接。数据帧按照在输入函数调用中出现的顺序进行组合。
Syntax: merge(x, y, by, all)
Arguments :
- x, y – The input dataframes
- by – specifications of the columns used for merging. In case of merging using row names, the by attribute uses ‘row.names’ value.
- all – logical true or false.
示例 1:合并数据帧
显示的输出按 x 数据帧的行号后跟 y 数据帧的行号的顺序排列。
R
# creating a dataframe
data_frame1 <- data.frame(col1 = c(6:8),
col2 = letters[1:3],
col3 = c(1,4,NA))
print ("Original DataFrame1")
print (data_frame1)
data_frame2 <- data.frame(col1 = c(5:7),
col2 = letters[7:9])
print ("Original DataFrame2")
print (data_frame2)
data_frame_merge <- merge(data_frame1, data_frame2,
by = 'row.names', all = TRUE)
print ("Merged DataFrame")
print (data_frame_merge)
R
#creating a dataframe
data_frame1 <- data.frame(col1 = c(6:8),
col2 = letters[1:3],
col3 = c(1,4,NA))
print ("Original DataFrame1")
print (data_frame1)
data_frame2 <- data.frame(col4 = c(5:6),
col5 = letters[7:8])
print ("Original DataFrame2")
print (data_frame2)
data_frame_merge <- merge(data_frame1, data_frame2,
by = 'row.names', all = TRUE)
print ("Merged DataFrame")
print (data_frame_merge)
输出:
示例 2:合并不等数据帧
如果数据帧中的行号数量不相等,则为行数较少的数据帧提供 NA 值,这些值出现在合并的数据帧中。
电阻
#creating a dataframe
data_frame1 <- data.frame(col1 = c(6:8),
col2 = letters[1:3],
col3 = c(1,4,NA))
print ("Original DataFrame1")
print (data_frame1)
data_frame2 <- data.frame(col4 = c(5:6),
col5 = letters[7:8])
print ("Original DataFrame2")
print (data_frame2)
data_frame_merge <- merge(data_frame1, data_frame2,
by = 'row.names', all = TRUE)
print ("Merged DataFrame")
print (data_frame_merge)
输出: