# The ncol Function in R (3 Examples)

**Basic R Syntax:**

ncol(data) |

ncol(data)

The ncol R function **returns the number of columns** of a matrix or data frame. Above, you can find the command for the application of ncol in the R programming language.

Youâ€™d like to hear some more details? In the following tutorial, Iâ€™ll provide you with several **examples of the usage** of the ncol function in R.

## Example 1: Count Number of Columns of a Data Frame

Before we can dive into the application of the ncol command in R, letâ€™s create an example data frame:

set.seed(99999) # Seed for reproducibility N <- 100 # Sample size x1 <- round(runif(N, 1, 10)) # Column 1 x2 <- round(runif(N, 0, 3)) # Column 2 x3 <- round(runif(N, 1, 5)) # Column 3 data_frame <- data.frame(x1, x2, x3) # Data frame with 3 columns head(data_frame) # First 6 rows |

set.seed(99999) # Seed for reproducibility N <- 100 # Sample size x1 <- round(runif(N, 1, 10)) # Column 1 x2 <- round(runif(N, 0, 3)) # Column 2 x3 <- round(runif(N, 1, 5)) # Column 3 data_frame <- data.frame(x1, x2, x3) # Data frame with 3 columns head(data_frame) # First 6 rows

**Table 1: Example Data for the Application of the ncol R function.**

As you can see based on Table 1, our data frame consists of 3 columns. Letâ€™s check how we could investigate on that with the ncol function in R:

ncol(data_frame) # Count the number of columns # 3 |

ncol(data_frame) # Count the number of columns # 3

ncol returns the number 3 â€“ seems correct!

## Example 2: Count the Number of Columns of a Matrix

The ncol function is easy to apply â€“ also to matrices! Even if our data has the class matrix, we can apply the ncol command in the same manner.

First, letâ€™s convert the data frame we used before into a matrix:

mat <- as.matrix(data_frame) |

mat <- as.matrix(data_frame)

Then, letâ€™s apply the ncol function:

ncol(mat) # 3 |

ncol(mat) # 3

Still 3 â€“ very good.

## Example 3: ncol Returns NULL â€“ A Common Mistake

A mistake that I see quite often is that people try to apply ncol to a vector (often, because they falsely think that their data is in data frame or matrix format).

The result is that R returns NULL, instead of the number of columns. Confusing…

Iâ€™ll illustrate that with some R code:

set.seed(716253) # Set seed vec1 <- rnorm(10, 5, 2) # Some random data vector ncol(vec1) # Apply the ncol R command # NULL |

set.seed(716253) # Set seed vec1 <- rnorm(10, 5, 2) # Some random data vector ncol(vec1) # Apply the ncol R command # NULL

As you can see, the ncol command is not working for vectors. If you want to know the amount of values of a vector, you have to use the transpose functionâ€¦

ncol(t(vec1)) # Transpose function in R # 10 |

ncol(t(vec1)) # Transpose function in R # 10

â€¦or even easier: the length function.

length(vec1) # Length function in R # 10 |

length(vec1) # Length function in R # 10

## Video Examples: ncol and Similar R Functions in Practice

Do you need more examples? No problem! Have a look at the following YouTube video of the Statistics Globe YouTube channel.

**Please accept YouTube cookies to play this video.** By accepting you will be accessing content from YouTube, a service provided by an external third party.

If you accept this notice, your choice will be saved and the page will refresh.

## Further Reading

### Statistics Globe Newsletter