在R中的数据框中显示相应的值

Displaying corresponding values in data frame in R

请检查下面的代码,我使用下面的三个变量创建了一个数据框,变量 "y123" 计算列 a2 与 a1 之间的相似度。变量 "y123" 给了我总共 16 个值,其中每个 a1 值都与 a2 进行比较。我的需要是,当将特定的 "a1" 值与特定的 "a2" 值进行比较时,我希望在 "a2" 旁边显示相应的 "a3" 值。因此,结果应该是一个包含 y123 列的数据框和第二列对应的 "a3" 列出现四次,即 16 个值。谢谢,请帮忙。

library(stringdist)
library(RecordLinkage)
a1 = c(103,120,142,153)
a2 = c(113,453,142,102)
a3 = c("a1","b1","c1","d1")
a1 = as.character(a1)
a2 = as.character(a2)
a3 = as.character(a3)
a123 = data.frame(a1,a2,a3)
y123 = sapply(a1, function(i) RecordLinkage::levenshteinSim(i,a2))
b1 = c(y123)
b1

我需要一些清单:

new_data = data.frame(b1,new_column)

我想这就是你想要的。我修改了你的 sapply 函数:

data.frame(y123 = c(y123), a3 = rep(a3, times = length(a3)))
#        y123 a3
#1  0.6666667 a1
#2  0.3333333 b1
#3  0.3333333 c1
#4  0.6666667 d1
#5  0.3333333 a1
#6  0.0000000 b1
#7  0.3333333 c1
#8  0.3333333 d1
#9  0.3333333 a1
#10 0.0000000 b1
#11 1.0000000 c1
#12 0.6666667 d1
#13 0.6666667 a1
#14 0.6666667 b1
#15 0.3333333 c1
#16 0.3333333 d1