Мне нужна помощь, я пытаюсь запустить функцию в другой функции с тем же df, но всегда появляется сообщение об ошибке, когда я запускаю код
Ниже приведен пример моего df
X <- c("Bloc", "Mp", "xcible", "ycible", "xO", "yO", "xN", "yN", "xE", "yE", "xS", "yS", "ID_ligne")
C <- c("LE-01", 22, 2.404024, -39.5192, -7.296761, -43.66444, -8.135254, -0.8619174, 6.710631, 0.20917, 7.339786, -41.44318, "LE-01-B-006-22")
D <- c("LE-01", 20, 1.362262, -40.59871, -7.296761, -43.66444, -8.135254, -0.8619174, 6.710631, 0.20917, 7.339786, -41.44318, "LE-01-B-006-20")
E <-c("LE-01", 22, 2.404024, -39.5192, -7.296761, -43.66444, -8.135254, -0.8619174, 6.710631, 0.20917, 7.339786, -41.44318, "LE-01-B-005-22")
G <- c("LE-01", 20, 1.362262, -40.59871, -7.296761, -43.66444, -8.135254, -0.8619174, 6.710631, 0.20917, 7.339786, -41.44318, "LE-01-B-005-20")
H <- c("LE-01", 24, 1.710175, -33.79383, -7.296761, -43.66444, -8.135254, -0.8619174, 6.710631, 0.20917, 7.339786, -41.44318, "LE-01-B-004-24")
J <- c("LE-01", 22, 2.404024, -39.5192, -7.296761, -43.66444, -8.135254, -0.8619174, 6.710631, 0.20917, 7.339786, -41.44318, "LE-01-B-003-22")
Ex <- rbind(C,D,E,G,H,J)
colnames(Ex) <- X
Ex <- as.data.frame(Ex)
Ex$xO <- as.numeric(as.character(Ex$xO))
Ex$xS <- as.numeric(as.character(Ex$xS))
Ex$xN <- as.numeric(as.character(Ex$xN))
Ex$xE <- as.numeric(as.character(Ex$xE))
Ex$yO <- as.numeric(as.character(Ex$yO))
Ex$yS <- as.numeric(as.character(Ex$yS))
Ex$yN <- as.numeric(as.character(Ex$yN))
Ex$yE <- as.numeric(as.character(Ex$yE))
Ex.list <- split(Ex, f = Ex$ID_ligne)
Вот следующая функция, которая находится в большем, я пытаюсь запустить
eq_affine <- function(x1, y1, x2, y2){
pente <- (y2 - y1)/(x2 - x1)
int <- y2 - pente*x2
return(c(pente, int))
Большая функция, но сводится к строке, когда появляется сообщение об ошибке
exp_lin_fun_rect <- function(xO, xS, xE, xN,
yO, yS, yE, yN,
xcible, ycible,
xcompe, ycompe){
eqSE <- eq_affin(xS, yS, xE, yE)
eqEN <- eq_affine(xE, yE, xN, yN)
eqNO <- eq_affine(xN, yN, xO, yO)
eqOS <- eq_affine(xO, yO, xS, yS)
return(data.frame(cbind(eqSE, eqEN, eqNO, eqOS)))
}
И код, который я пытался запустить:
Ex <- unlist(lapply(Ex.list, exp_lin_fun_rect))
Сообщение об ошибке всегда Error in eq_affine(xS, yS, xE, yE) :
argument "yE" is missing, with no default
Нет необходимости использовать оставшуюся большую функцию, потому что ошибка возникает в первой строке кода , И я использую список, потому что у меня есть тонна данных, и мне легче работать таким образом
Спасибо за помощь