【发布时间】:2021-02-13 17:14:30
【问题描述】:
我有两个数据框 data1 和 data2,它们的信息如下:
dput(data1)
structure(list(ProfName = c("Hua (Christine) Xin", "Dereck Barr-Pulliam",
"Lisa M. Blum", "Russell Williamson", "William D. Stout", "Michael F. Wade",
"Sheila A. Johnston", "Julie Huang", "Alan Attaway", "Alan Levitan",
"Benjamin P. Foster", "Carolyn M. Callahan"), Title = c(" PhD",
" PhD", " LLM", " PhD", " PhD", " CPA", " MS", " PhD", " PhD",
" PhD", " PhD", " PhD"), Profession = c("Assistant Professor",
"Assistant Professor", "Instructor", "Assistant Professor", "Associate Professor and Director",
"Instructor", "Instructor", "Associate Professor", "Professor",
"Professor", "Professor", "Brown-Forman Professor of Accountancy"
)), row.names = c(8L, 18L, 25L, 36L, 49L, 50L, 56L, 69L, 71L,
82L, 88L, 89L), class = "data.frame")
如下所示:
dput(data2)
structure(list(ProfName = c("Blandford, K ", "Okafor, A ",
"Johnston, S ", "Rolen, R ", "Attaway, A ", "Xin, H ",
"Huang, Y ", "Stout, W ", "Williamson, R ", "Callahan, C ",
"Foster, B ", "Blum, L ", "Levitan, A ", "Barr-Pulliam, D ",
"Wade, M ")), row.names = c(NA, -15L), class = "data.frame")
data2 如下所示:
我想合并两个数据框,但名称看起来不同。只有一个特定的字符串在具有ProfName 列的两个数据帧之间匹配。数据应该被合并,如果名称没有任何信息,它应该是空的。如果Title 和Profession 列中没有任何信息,则ProfName 和New 列应具有相同的名称。
我尝试使用merge,但它没有提供所需的输出。
merge(data1, data2, by="ProfName", all.x=TRUE, all.y = TRUE)
输出应如下所示:
【问题讨论】:
标签: r dataframe merge match partial