# How to Solve R Error: Arguments imply differing number of rows

by | Programming, R, Tips

This error occurs when you try to create a data frame with vectors with different lengths. The resultant data frame would have a differing number of rows in each column.

You can solve the error by checking the lengths of the vectors and filling the shorter vectors with `NA` to match the length of the longest vector.

This tutorial will go through the error and how to solve it with code examples.

## Example

Let’s look at an example of creating a data frame with two vectors.

```# Define two vectors
x <- c(1, 3, 5, 7, 9, 11)
y <- c(2, 4, 6, 8, 10, 12 , 14)

# Create data frame using vectors as columns
df <- data.frame(x, y)```

Let’s run the code to see what happens:

```Error in data.frame(x, y) :
arguments imply differing number of rows: 6, 7```

The error occurs because the vector `x` does not have the same length as the vector `y`. Therefore, the resultant data frame would not have the same number of rows for each column, which is not allowed in R.

We can check the length of a vector using the `length()` function. Let’s print the lengths of the two vectors.

```print(length(x))
print(length(y))```
```6
7```

### Solution

We can see that the vector `x` has a length of 6 and the vector `y` has a length of 7.

We can solve the error by ensuring each vector has the same length. We can use an if-statement to compare the lengths of the two vectors and pad the shortest vector with `NA` values.

Let’s look at the solution code:

```# Define two vectors
x <- c(1, 3, 5, 7, 9, 11)
y <- c(2, 4, 6, 8, 10, 12 , 14)

# If statement comparing the lengths of two vectors

if (length(x) < length(y)){

length(x) <- length(y)

} else if (length(y) < length(x)){

length(y)<-length(x)

}

df <- data.frame(x, y)

print(df)```

Let’s run the code to get the result:

```   x  y
1  1  2
2  3  4
3  5  6
4  7  8
5  9 10
6 11 12
7 NA 14```

We successfully created the data frame using the two vectors, and we can see that the shorter vector `x` has a single `NA` value to pad it to the same length as the vector `y`.

## Summary

Congratulations on reading to the end of this tutorial!

For further reading on R related errors, go to the articles:

Go to the online courses page on R to learn more about coding in R for data science and machine learning.

Have fun and happy researching!