Я начинаю с R. Я взял 2d-образец в списке. Этот список содержит 2 векторов с 100 элементами либо один:Применить отдельную функцию для списка в R
muestra2d <- take_samples(2, 100, c(-100, 100));
Я функция, которая вычисляет коэффициенты т и б строки в виде y=mx+b
в коробке в заданном диапазоне.
vars <- sim_line(c(-100, 100))
Хорошо, моя цель применить функцию f(x,y)=y-ax-b
, где x
является элементом muestra2d[1]
, y
является элементом muestra2d[2]
, a
представляет собой наклон линии (м) и b
это смещение линии. Функция должна маркировать образец значком функции для каждой пары значений (x, y).
Я попробовал его с этой линией
result <- lapply(muestra2d, function(x,y) (y-(vars[5]*x)-vars[6]))
мышления lapply принимает элемент из первого вектора списка и копирует его в x
, делает то же самое для y
и применения функции к этим значениям, но это не очень хорошая идея.
Как я могу это сделать? Как я могу построить линию, точки и отрицательные точки с другим цветом одновременно?
Арифметика в R является vectorised, так что вы можете просто написать что-то вроде 'результат <- muestra2d [1,] - вары [5] * muestra2d [2,] - вары [6]' , Возможно, у меня не было индексации, потому что я не знаю, как выглядит вывод 'take_samples()'. – Stibu
Вывод 'take_samples()' возвращает список из двух векторов. Вы видите muestra2d как матрицу. Я переинтерпретировал ваше выражение следующим образом: 'result <- muestra2d [[1]] - vars [5] * muestra2d [[2]] - vars [6]'. При этом я оцениваю выражение для того же индекса в первом векторе и в секундах muestra2d. Спасибо за ваш комментарий, мой друг. – Carlos
'2dsample' не является допустимым именем для объекта. – jogo