У меня есть кадр данных в R размером nx4.Я пытаюсь пройтись по нему и выполнить вычисление для добавления к вектору «расстояний».x0 - это вектор длины 3. Я пытаюсь запустить следующий код
trainData = data.frame(x1,x2,x3,y)
for (j in 1:n) {
distances[j] = sqrt(sum((x0 - trainData[j,1:3])^2))
}
Я получаю следующую ошибку:
Error in Ops.data.frame(x0, trainData[j, 1:3]) :
‘-’ only defined for equally-sized data frames
Однако вычитаемые 2 значения имеют одинаковую длинуи я могу запустить его без зацикливания, то есть
sqrt(sum((x0 - trainData[1,1:3])^2))
Я не могу найти причину этого, любая помощь приветствуется.