Я работаю с двумя разными большими наборами данных и пытаюсь использовать mapply()
, чтобы заставить работать итерационные функции.
Цель состоит в том, чтобы взять каждый столбец точек данных из Data_1 и сравнить его с обеими точками данных в столбце Data_2. Таким образом, Data_1 [1,1] будет сравниваться только с Data_2 [1,1] и Data_2 [2,1]. Для большей ясности, столбец data1 в Data_1 будет сравниваться только с элементами dataA в Data_2, поэтому перекрестные сравнение столбцов.
Данные_1: NxM
data1 data2 data3 data4
-0.710003 -0.714271 -0.709946 -0.713645
-0.710458 -0.715011 -0.710117 -0.714157
-0.71071 -0.714048 -0.710235 -0.713515
-0.710255 -0.713991 -0.709722 -0.713972
Данные_2: PxQ
dataA dataB dataC dataD
-0.71097 -0.714059 -0.70928 -0.714059
-0.710343 -0.714576 -0.709338 -0.713644
Ранее я написал алгоритм на основе цикла for()
while()
, но время выполнения было слишком большим, чем исходные данные. Затем я перешел к логике, основанной на apply()
, но все еще оставались циклы внутри функции, которую я вызывал, так что это не ускоряло код. Основываясь на моем предыдущем вопросе, я нахожу лучший способ сделать это с помощью mapply()
.
Часть, которую я не могу визуализировать, - это сравнение столбца с строкой и то, как mapply()
будет перемещаться по нему рекурсивно. Как я могу использовать mapply()
или lapply()
, чтобы сделать это эффективно?
Любые предложения будут полезны, спасибо.