我有两个数据框,我想将它们合并到下面提到的输出中。如果有人可以向我显示正确的路径,我将不胜感激:
a。 Dataframe1
Col1 Col2 Col
zbo 123 40
zbo 6547 50
zbo 6589 60
b。 Dataframe2
Column Column
tile zbo
file abc
date 01/09/2018
预期结果
tile : zbo
file : abc
date : 01/09/2018
Col1 Col2 Col
zbo 123 40
zbo 6547 50
zbo 6589 60
答案 0 :(得分:1)
我们可以捕获第二个数据帧和paste
与第一个数据帧的输出
v1 <- do.call(paste, c(df2, sep=" : ", collapse="\n"))
cat(paste(v1, paste(trimws(sub("^\\d+", "", capture.output(df1))),
collapse="\n"), sep="\n"), sep="\n")
#tile : zbo
#file : abc
#date : 01/09/2018
#Col1 Col2 Col
#zbo 123 40
#zbo 6547 50
#zbo 6589 60
如果我们需要一列data.frame作为输出,请移除cat
包装并使用read.csv
来读取data.frame
read.csv(text = paste(v1, paste(trimws(sub("^\\d+", "", capture.output(df1))),
collapse="\n"), sep="\n"), header = FALSE)
# V1
#1 tile : zbo
#2 file : abc
#3 date : 01/09/2018
#4 Col1 Col2 Col
#5 zbo 123 40
#6 zbo 6547 50
#7 zbo 6589 60
df1 <- structure(list(Col1 = c("zbo", "zbo", "zbo"), Col2 = c(123L,
6547L, 6589L), Col = c(40L, 50L, 60L)), class = "data.frame", row.names = c(NA,
-3L))
df2 <- structure(list(Column = c("tile", "file", "date"), Column.1 = c("zbo",
"abc", "01/09/2018")), class = "data.frame", row.names = c(NA,
-3L))