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 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 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.
Further Reading
Subscribe to the Statistics Globe Newsletter
Get regular updates on the latest tutorials, offers & news at Statistics Globe.
I hate spam & you may opt out anytime: Privacy Policy.
Thank you!
Welcome to the Statistics Globe newsletter. From now on, I’ll send you regular emails about statistics, data science, AI, and programming with R and Python.
I’m Joachim Schork. On this website, I provide statistics tutorials as well as code in Python and R programming.
Statistics Globe Newsletter
Get regular updates on the latest tutorials, offers & news at Statistics Globe. I hate spam & you may opt out anytime: Privacy Policy.
Thank you!
Please check your email inbox and click the confirmation link to complete your subscription. If you don’t see the email within a few minutes, please also check your spam/junk folder.






