def get_num_char_vars(data, missing=False, limit=None):
    """ Return lists of column names for numeric and character columns
    data: a pandas DataFrame
    missing: boolean for whether to return only names of columns with
    missing values
    limit: the upper bound of non-missing values to be included
    """

    num_vars = []
    char_vars = []
    if missing == True:
        if not limit:
            limit = data.shape[0]

    else:
        limit = data.shape[0]+1

    for col in data.columns:
        if data[col].count() < limit:
            if data[col].dtypes == "object":
                char_vars.append(col)

            else:
                num_vars.append(col)
            
    return num_vars, char_vars