Built with Tutify.io

    AIStudyLabs

    Create Empty DataFrame in R

    Create Empty DataFrame in R

    There are multiple ways to create an empty data frame in the R programming language, I will cover first by using data.frame() without params, the second using matrix(), the third is by initializing empty vectors, and the fourth is creating a DataFrame with just columns from another DataFrame.

    Empty data frame in R, Pandas data frame, or PySPark data frame usually refers to 0 rows and 0 columns however, sometimes, you would require to have column names and specify the data types for each column, but without any rows. In this article, let's see these with examples.

    <a id="h-1-quick-examples-of-creating-empty-dataframe-in-r"></a>

    1. Quick Examples of Creating Empty DataFrame in R

    Following are quick examples of how to create an empty DataFrame.

    
    # Quick Examples
    
    # Example 1 - Using empty data.frame()
    df = data.frame()
    
    # Example 2 - Using matrix()
    df = data.frame(matrix(nrow = 0, ncol = 0)) 
    
    # Example 3 - Assign column names to empty DataFrame
    # Create an Empty DataFrame with 0 rows and n columns 
    columns = c("id","name","dob") 
    df = data.frame(matrix(nrow = 0, ncol = length(columns))) 
    colnames(df) = columns
    
    # Example 4
    # Assign columns & datatype to empty DataFrame
    df = data.frame(id=numeric(0),name=character(0),dob=character(0))
    
    # Example 5
    # By Setting column variables with NA
    df = data.frame(id=NA, name=NA, dob=NA)[numeric(0), ]
    
    # Example 6
    # Create empty DataFrame from existing
    empty_df = df[FALSE,]
    

    <a id="h-2-create-an-empty-r-dataframe-using-data-frame"></a>

    2. Create an Empty R DataFrame using data.frame()

    One simple approach to creating an empty data frame in the R programming language is by using the data.frame() method without any parameters. This creates an R DataFrame without rows and columns (0 rows and 0 columns). data.frame() is also used to create an R Data Frame.

    
    # Create an Empty data frame
    df = data.frame()
    df
    
    # Output
    #data frame with 0 columns and 0 rows
    

    Now let's check the dimensions of the data frame.

    
    # Print the dimensions
    dim(df)
    
    # Output
    #[1] 0 0
    

    <a id="h-3-create-an-empty-dataframe-using-matrix"></a>

    3. Create an Empty DataFrame using matrix()

    We are often required to create a data frame in R without rows and with or without columns. In this section, I will show different examples of how to initialize an empty data frame with and without columns.

    <a id="h-3-1-create-an-empty-dataframe-with-no-rows-and-columns"></a>

    3.1 Create an Empty DataFrame with no Rows and Columns

    You can also use matric() function to create an empty data frame in R without columns. First, create a matrix() with nrow=0 rows and ncol=0 which creates an empty matrix and assigns this to data.frame() function.

    
    # Create an Empty DataFrame with 0 rows and 0 columns
    matrix_empty = matrix(nrow = 0, ncol = 0)
    df = data.frame(matrix_empty) 
    df
    dim(df)
    

    Yields the same output as above.

    <a id="h-3-2-create-empty-dataframe-with-columns"></a>

    3.2 Create Empty DataFrame with Columns

    To create an empty data frame with column names , initialize a vector with column names first, c() is used to create a Vector in R. And then create data frame by using data.frame() function and assign this vector to columns(df).

    
    # Create a Vector with Columns
    columns = c("id","name","dob") 
    
    #Create a Empty DataFrame with 0 rows and n columns
    df = data.frame(matrix(nrow = 0, ncol = length(columns))) 
    
    # Assign column names
    colnames(df) = columns
    
    # print DataFrame
    print(df)
    

    Yields below output. Notice that our R data frame has 0 rows with 3 columns id, name and dob.

    
    # Output
    [1] id   name dob 
    <0 rows> (or 0-length row.names)
    

    <a id="h-4-by-initializing-empty-vectors"></a>

    4. By Initializing Empty Vectors

    You can also create a data frame with just columns and no rows by using data.frame() and by assigning zero-length vector variables as params. This creates a datfa rame with columns of specific data types.

    
    # Using empty vectors
    df2 = data.frame(id=numeric(0),name=character(0),dob=character(0))
    print(df2)
    
    # Output
    #[1] id   name dob 
    #<0 rows> (or 0-length row.names)
    

    Here, id is a numeric column, name and dob are characters.

    <a id="h-5-using-na-variables"></a>

    5. Using NA Variables

    Also, assign NA to columns to create an empty data frame with names.

    
    # Create Empty DataFrame with column names
    df3 = data.frame(id=NA, name=NA, dob=NA)[numeric(0), ]
    print(df3)
    
    # Output
    #[1] id   name dob 
    #<0 rows> (or 0-length row.names)
    

    <a id="h-6-create-dataframe-with-just-columns-from-the-existing"></a>

    6. Create DataFrame with Just Columns from the Existing

    Finally, if you already have an existing data frame, let's say df, and wanted to create another empty data frame by just using the column names and types without rows, using the below approach.

    
    # Create a data frame
    df <- data.frame(
      id=c(10,11,12,13),
      name=c('sai','ram','deepika','sahithi'),
      dob=as.Date(c('1990-10-02','1981-3-24','1987-6-14','1985-8-16'))
    )
    
    # Create empty DataFrame with columns from existing DataFrame.
    empty_df = df[FALSE,]
    empty_df
    

    Yields below output. Notice that df still contains the data, but empty_df is empty with columns id, name, and dob but, without rows.

    
    # Output
    [1] id   name dob 
    <0 rows> (or 0-length row.names)
    

    <a id="h-7-conclusion"></a>

    7. Conclusion

    In this article, you have learned how to create an empty data frame with 0 rows and 0 columns in R and also learned to create it by assigning names and data types using several examples.

    <a id="h-related-articles"></a>

    Related Articles

    <a id="h-references"></a>

    References