Отображение соответствующих значений во фрейме данных в 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