Написание функции R с помощью if enviornment
Я пытаюсь написать функцию, которая делает разные вещи, в зависимости от второго аргумента. Но я все время получаю ошибку. В зависимости от размера матрицы, функция должна выполнять разные задачи. Вот пример
x<-cbind(X1,X2,X3)
function<-function(x,hnrstr){
if (hnrstr<-1){
x<-data.frame(X1=x[1],X2=x[2],X3=x[3])
y<-x
y[ ,"X2","X3"]<- gsub(" {2, }"," ",y[ ,"X2","X3"])
}
if (hnrstr<-2){
x<-data.frame(X1=x[1],X2=x[2])
P<-x
}
if (hnrstr<-1){
x<-y
}
if (hnrstr<-2){
x<-P
}
return(x)
}
apply(x,c(3,3), function(x,1))
Я получаю ошибку:
Error in drop && !has.j : invalid 'x' type in 'x && y'