Отображение соответствующих значений во фрейме данных в R

Пожалуйста, проверьте код ниже, я создал фрейм данных, используя три переменные ниже, переменная "y123" вычисляет сходство между столбцами a2 и a1. Переменная "y123" дает мне всего 16 значений, где каждое значение a1 сравнивается с a2. Мне нужно, чтобы, когда конкретное значение "a1" сравнивалось с конкретным значением "a2", я хочу, чтобы соответствующее значение "a3" рядом с "a2" отображалось помимо этого. Таким образом, результатом должен быть фрейм данных со столбцом 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)

1 ответ

Решение

Я думаю, что это то, что вы хотите. Я изменил ваш 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
Другие вопросы по тегам