# number of rows of result is not a multiple of vector length (arg 2) in R

Differents lengths in original x, x1 and z lists is the first problem, how can you say which z values is related to each x and x1 values?

```x <- c(-10, 1:6, 50)
x1<- c(-20, 1:5, 60)
z<- c(1,2,3,4,5,6,7,8)
length(x)
[1] 8
length(x1)
[1] 7
length(z)
[1] 8

```

Another problem is here:

```x<- x[!(x %in% bx\$out)] #remove this
x1 <- x1[!(x1 %in% bx1\$out)] #remove this

x_to_remove<-which(x %in% bx\$out)
x <- x[!(x %in% bx\$out)]

x1_to_remove<-which(x1 %in% bx1\$out)
x1 <- x1[!(x1 %in% bx1\$out)]

```

You clean `x` and `x1` before calculating `x_to_remove` and `x1_to_remove`

```x <- c(-10, 1:6, 50)
x1<- c(-20, 1:5, 60)
z<- c(1,2,3,4,5,6,7,8)

length_max<-min(length(x),length(x1),length(z)) #Added: identify max length before outlier detection

bx <- boxplot(x)
bx1 <- boxplot(x1)

x_to_remove<-which(x %in% bx\$out)
x <- x[!(x %in% bx\$out)]

x1_to_remove<-which(x1 %in% bx1\$out)
x1 <- x1[!(x1 %in% bx1\$out)]

z<-z[-unique(c(x_to_remove,x1_to_remove))]

length_min<-min(length(x),length(x1),length(z)) #Minimum length after outlier remove

d=data.frame(cbind(x[1:length_min],x1[1:length_min],z[1:length_min])) #Bind columns
colnames(d)<-c("x","x1","z")

d_NA<-as.data.frame(matrix(rep(NA,(length_max-length_min)*3),nrow=(length_max-length_min))) #Create NA rows
colnames(d_NA)<-c("x","x1","z")