# The ncol Function in R (3 Examples)

Basic R Syntax:

`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

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 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)`

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

```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```

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```

â€¦or even easier: the length function.

```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.

Subscribe to the Statistics Globe Newsletter