R Error: Arguments Imply Differing Number of Rows (2 Examples)


This article illustrates how to handle the error message “arguments imply differing number of rows” in the R programming language.

The content of the post is structured like this:

Let’s dive right in:


Example 1: Replicating the Error Message: arguments imply differing number of rows

In Example 1, I’ll illustrate how to reproduce the error “arguments imply differing number of rows”. Have a look at the following R code:

data.frame(x1 = 1:5,               # Wrong application of data.frame
           x2 = 1:6)
# Error in data.frame(x1 = 1:5, x2 = 1:6) : 
#   arguments imply differing number of rows: 5, 6

As you can see, the RStudio console returns the error “arguments imply differing number of rows”.

The reason for this is that we tried to create a data frame with unequal variable lengths (i.e. x1 has a length of five and x2 has a length of six).


Example 2: Fixing the Error Message: arguments imply differing number of rows

In this Section, I’ll illustrate how to solve the error message “arguments imply differing number of rows”:

data.frame(x1 = c(1:5, NA),        # Proper application of data.frame
           x2 = 1:6)
#   x1 x2
# 1  1  1
# 2  2  2
# 3  3  3
# 4  4  4
# 5  5  5
# 6 NA  6

In the previous R code we added an NA value at the end of the shorter column. This way, we created two variables with even length.


Video & Further Resources

Do you need more explanations on the R syntax of this tutorial? Then you might want to watch the following video of my YouTube channel. I’m explaining the R programming syntax of this tutorial in the video:



In addition, I can recommend to read the related articles of my homepage.


In summary: You learned in this article how to deal with the error “arguments imply differing number of rows” in the R programming language. Don’t hesitate to let me know in the comments below, in case you have additional questions.


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.

4 Comments. Leave new

  • Aaron D. Cherniak
    May 10, 2021 6:55 pm

    Hi Joachim. Is the video coming soon?
    I’m not following the answer.

    • Hey Aaron,

      I’m not sure when I will be able to upload the video. However, could you share your code? I can have a look at it.



  • Samson Agboola
    August 19, 2023 4:14 pm

    Hi Aaron, here is the code fluidRow(
    sidebarPanel(width = 12,
    box(width = 12,status = “primary”,title = “Client Intake Form”,
    background = “teal”,solidHeader = TRUE, collapsible = TRUE,
    selectInput(“State”, “State”, choices = c(“Bauchi”, “Jigawa”,”Kano”),selected = “Kano”),
    textInput(“lga”, “L.G.A” ),
    textInput(“facility”, “Facility Name: ” ),
    textInput(“clientname”, “Client’s Name: ” ),
    dateInput(“date_visit”, “Date of Visit (yyyy/mm/dd):”,
    value = Sys.Date(), # Set default value to today’s date
    min = “2023-01-01”, # Set minimum selectable date
    max = “2027-12-31” ),
    numericInput(“age”, “Age of the client”, min = 1, max = 100,value = 30),
    selectInput(“sex”, “Sex”, c(“Male”, “Female”),selected = “Male”),
    selectInput(“Marital_status”, “Marital status:”, c(“Single”, “Married”,”Divorced”,”Widower”,”Seperated”),selected = “Single”),
    selectInput(“Identify_frm_Index”, “Is the client identified from Index?”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“Client_pregnant”, “Client is pregnant”, c(“Yes”, “No”), selected = “No”),
    selectInput(“breastfeeding_less_6m”, “Client breastfeeding 6 months”, c(“Yes”, “No”), selected = “Yes”),
    h2(“Section A: Pre-Test Counseling/Risk Assessment”),
    selectInput(“Previously_tested_HIV_negative”, “Previously tested HIV Negative?”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“hiv_neg_test_res”, “Time of last HIV Negative test Results”, c(“mths”)),
    selectInput(“HIV_transmission_routes”, “Client informed about HIV transmision routes”, c(“Yes”, “No”)),
    selectInput(“risk_factors_for_ HIV_transmission”, “Client informed about risk HIV transmision”, c(“Yes”, “No”)),
    selectInput(“preventing_on_HIV_transmission_methods”, “Client informed on preventing HIV transmision”, c(“Yes”, “No”)),
    selectInput(“possible_HIVtest”, “Client informed about possible test results”, c(“Yes”, “No”)),
    selectInput(“HIV_testing_to_be_given”, “Informed consent for HIV testing given”, c(“Yes”, “No”)),
    h2(“Section B: Personal HIV Risk Assessment(Last 3 Months)”),
    selectInput(“Ever_had_sexual_intercourse”, “Ever had sexual intercourse”, c(“Yes”, “No”), selected = “No”),
    selectInput(“Blood_transfussion”, “Blood transfusion in last 3 months”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“More_than_1_sex_partner”, “More than 1 sex partner”, c(“Yes”, “No”), selected = “No”),
    selectInput(“sex_under_drugs”, “Sex under the influence of drugs or alcohol”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“Unprotected_sex_with_casual_partner”,”Unprotected Vaginal Sex”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“Unprotected_sex_with_regular_partner”, “Unprotected Anal Sex”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“STI_in_last_3mths”, “History of STI”, c(“Yes”, “No”), selected = “No”),
    h2(“Section C: TB ad Syndromic STI Screening”),
    h3(“Clinical TB Screening”),
    selectInput(“Current_cough”, “Current cough”, c(“Yes”, “No”), selected = “No”),
    selectInput(“Weight_loss”, “Weight loss”, c(“Yes”, “No”), selected = “No”),
    selectInput(“Fever”, “Fever”, c(“Yes”, “No”), selected = “No”),
    selectInput(“Night_sweats”, “Night Sweats”, c(“Yes”, “No”), selected = “No”),
    h3(“Syndromic STI Screening”),
    selectInput(“vaginal_discharge_burning_when_urinating”, “Complaints of vaginal discharge or burning when urinating”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“lower_abdominal_pains_with_without_vaginal_discharge?”, “Complaints of lower abdominal pains with or without vaginal discharged”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“urethral_discharge_burning_when_urinating?”, “Complaints of urethral discharge or buring when urinating”, c(“Yes”, “No”), selected = “Yes”),
    selectInput(“scrotal_swelling_and_pain”, “Complaints of scrotal swelling and pain”, c(“Yes”, “No”), selected = “Yes”),
    actionButton(“predictButton”, “Predict Outcome”)


    # Reactive function to gather input values
    hts_client <- reactive({
    State = input$State,
    lga = input$lga,
    facility = input$facility,
    clientname = input$clientname,
    date_visit = input$date_visit,
    Age = input$age,
    Sex = input$sex,
    Marital_status = input$Marital_status,
    Identify_frm_Index = input$Identify_frm_Index,
    Client_pregnant = input$Client_pregnant,
    breastfeeding_less_6m = input$breastfeeding_less_6m,
    breastfeeding_greaterthan_6m = input$breastfeeding_greaterthan_6m,
    Previously_tested_HIV_negative = input$Previously_tested_HIV_negative,
    hiv_neg_test_res = input$hiv_neg_test_res,
    HIV_transmission_routes = input$HIV_transmission_routes,
    risk_factors_for_HIV_transmission = input$risk_factors_for_HIV_transmission,
    preventing_on_HIV_transmission_methods = input$preventing_on_HIV_transmission_methods,
    possible_HIVtest = input$possible_HIVtest,
    HIV_testing_to_be_given = input$HIV_testing_to_be_given,
    Ever_had_sexual_intercourse = input$Ever_had_sexual_intercourse,
    Blood_transfussion = input$Blood_transfussion,
    More_than_1_sex_partner = input$More_than_1_sex_partner,
    sex_under_drugs = input$sex_under_drugs,
    Unprotected_sex_with_casual_partner = input$Unprotected_sex_with_casual_partner,
    Unprotected_sex_with_regular_partner = input$Unprotected_sex_with_regular_partner,
    STI_in_last_3mths = input$STI_in_last_3mths,
    Current_cough = input$Current_cough,
    Weight_loss = input$Weight_loss,
    Fever = input$Fever,
    Night_sweats = input$Night_sweats,
    vaginal_discharge_burning_when_urinating = input$vaginal_discharge_burning_when_urinating,
    lower_abdominal_pains_with_without_vaginal_discharge = input$lower_abdominal_pains_with_without_vaginal_discharge,
    urethral_discharge_burning_when_urinating = input$urethral_discharge_burning_when_urinating,
    scrotal_swelling_and_pain = input$scrotal_swelling_and_pain,
    predictButton = input$predictButton

    # Function to predict presumptive outcome
    predict_presumptive <- function(hts_client) {
    if (hts_client$Current_cough != "No" ||
    hts_client$Weight_loss != "No" ||
    hts_client$Night_sweats != "No" ||
    hts_client$Fever != "No") {
    return("Client is suspected for TB")
    } else {
    return("Client is not suspected for TB")

    # Event reactive for the prediction result
    predict_presumptive_result <- eventReactive(input$predictButton, {
    hts_data <- hts_client() # Get the reactive data frame

    # Print the structure and content of hts_data


    # Display the prediction result
    output$HTSPrediction <- renderText({
    result <- predict_presumptive_result()
    paste("Result Output:", result)
    It showing Error: arguments imply differing number of rows: 1, 0

    • Hello Samson,

      The error you’re seeing is typically indicative of attempting to combine vectors of different lengths into a data frame. This error can occur if one of your input fields is not defined, which would mean that its value is NULL (length 0), while the other fields have values (length 1).



Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.