У меня есть фрейм данных в R, и я хочу установить значение на основе конкретного соответствия строк и столбцов из двух списков.
Вот процесс, которому я должен следовать.У меня есть фрейм данных, например:
test.var1.t1 test.var2.t1 test.var1.t4 test.var3.t1 test.var3.t7
var1 0 0 0 0 0
var2 0 0 0 0 0
var3 0 0 0 0 0
var4 0 0 0 0 0
У меня есть функция, которая принимает в качестве ввода имя столбца и возвращает значение, связанное с именем этого столбца.Например: some_function ("test.var1.t1") может возвращать значение 10.
У меня есть список имен некоторых строк и список имен столбцов.Мне нужно просмотреть каждое имя строки и имя столбца в списке, сопоставить их вместе, оценить функцию для этого сопоставленного столбца и разместить значение во фрейме данных в соответствующей ячейке.Например,
список имен строк = "var1" "var2" "var4"
список имен столбцов = "test.var1.t1" "test.var2.t1" "test.var1.t4 "" test.var3.t1 "
var1 должен совпадать с" test.var1.t1 "и" test.var1.t4 ", поэтому мы получаем значения функций для" test.var1.t1 "и"test.var1.t4" из some_function ().Предположим, что эти значения равны 10 и 20.
var2 должен совпадать с "test.var2.t1", поэтому получите значение функции для "test.var2.t1".Скажите, что это значение равно 15.
var4 не имеет соответствующего столбца, а var3 отсутствует в списке строк, поэтому его следует оставить в кадре данных в одиночку.
Как только это будет сделано, данныекадр должен быть изменен на это:
x.var1.t1 x.var2.t1 x.var1.t4 x.var3.t1 x.var3.t7
var1 10 0 20 0 0
var2 0 15 0 0 0
var3 0 0 0 0 0
var4 0 0 0 0 0
Каков наилучший способ сделать это?