Nếu tôi có hai khung dữ liệu, chẳng hạn như:Làm cách nào để hợp nhất các khung dữ liệu theo tên hàng mà không thêm cột "Row.names"?
df1 = data.frame(x=1:3,y=1:3,row.names=c('r1','r2','r3'))
df2 = data.frame(z=5:7,row.names=c('r5','r6','r7'))
(
R> df1
x y
r1 1 1
r2 2 2
r3 3 3
R> df2
z
r5 5
r6 6
r7 7
), tôi muốn kết hợp chúng bằng tên hàng, giữ tất cả mọi thứ (vì vậy một bên ngoài tham gia, hoặc tất cả = T). Điều này thực hiện:
merged.df <- merge(df1,df2,all=T,by='row.names')
R> merged.df
Row.names x y z
1 r1 1 1 NA
2 r2 2 2 NA
3 r3 3 3 NA
4 r5 NA NA 5
5 r6 NA NA 6
6 r7 NA NA 7
nhưng tôi muốn tên hàng nhập là tên hàng trong dataframe đầu ra (merged.df).
tôi có thể làm:
rownames(merged.df) <- merged.df[[1]]
merged.df <- merged.df[-1]
mà làm việc, nhưng dường như không thanh nha và khó nhớ. Bất cứ ai biết một cách sạch hơn?
Ví dụ về dữ liệu của bạn.frames không có hàng nào chung, tạo một ví dụ khác thường cho 'hợp nhất', có chủ ý không? – flodel
Không cố ý, xin lỗi về điều đó. – user116293