diff --git a/R/print.R b/R/print.R index aa1d78522..1842d863f 100644 --- a/R/print.R +++ b/R/print.R @@ -194,6 +194,8 @@ as.tags.gt_tbl <- function(x, ...) { if (is.na(table_id)) { id <- random_id() + # Store the generated ID back into the table options so it can be accessed by rendering functions + x <- dt_options_set_value(data = x, option = "table_id", value = id) } else { id <- table_id } diff --git a/R/utils_render_html.R b/R/utils_render_html.R index dc9a0578a..538920697 100644 --- a/R/utils_render_html.R +++ b/R/utils_render_html.R @@ -530,6 +530,9 @@ create_columns_component_h <- function(data) { stubh <- dt_stubhead_get(data = data) styles_tbl <- dt_styles_get(data = data) body <- dt_body_get(data = data) + + # Get the table ID if available + tbl_id <- dt_options_get_value(data = data, option = "table_id") # Get vector representation of stub layout stub_layout <- get_stub_layout(data = data) @@ -587,7 +590,7 @@ create_columns_component_h <- function(data) { headings_vars <- prepend_vec(headings_vars, "::stub") } - headings_ids <- valid_html_id(headings_vars) + headings_ids <- valid_html_id(headings_vars, tbl_id) stubhead_label_alignment <- "left" @@ -807,7 +810,7 @@ create_columns_component_h <- function(data) { colspan = colspans[i], style = spanner_style, scope = ifelse(colspans[i] > 1, "colgroup", "col"), - id = spanner_ids[level_1_index, ][i], + id = valid_html_id(spanner_ids[level_1_index, ][i], tbl_id), # Use valid_html_id with tbl_id htmltools::tags$div( class = "gt_column_spanner", htmltools::HTML(spanners[level_1_index, ][i]) @@ -827,7 +830,7 @@ create_columns_component_h <- function(data) { ) remaining_headings_labels <- unlist(remaining_headings_labels) - remaining_headings_ids <- valid_html_id(remaining_headings_vars) + remaining_headings_ids <- valid_html_id(remaining_headings_vars, tbl_id) col_alignment <- col_alignment[-1][!(headings_vars %in% solo_headings)] @@ -953,7 +956,7 @@ create_columns_component_h <- function(data) { colspan = colspans[j], style = spanner_style, scope = ifelse(colspans[j] > 1, "colgroup", "col"), - id = spanner_ids_row[j], + id = valid_html_id(spanner_ids_row[j], tbl_id), # Use valid_html_id with tbl_id if (spanner_ids_row[j] != "") { htmltools::tags$div( class = "gt_column_spanner", @@ -1007,6 +1010,9 @@ create_body_component_h <- function(data) { list_of_summaries <- dt_summary_df_get(data = data) groups_rows_df <- dt_groups_rows_get(data = data) styles_tbl <- dt_styles_get(data = data) + + # Get the table ID if available + tbl_id <- dt_options_get_value(data = data, option = "table_id") # Get effective number of columns n_cols_total <- get_effective_number_of_columns(data = data) @@ -1122,7 +1128,7 @@ create_body_component_h <- function(data) { class = group_class, style = row_style_group_heading_row, scope = if (n_cols_total > 1) "colgroup" else "col", - id = group_label, + id = valid_html_id(group_label, tbl_id), # Use valid_html_id with tbl_id htmltools::HTML(group_label) ) ) @@ -1176,13 +1182,14 @@ create_body_component_h <- function(data) { row_style_group_heading_row <- row_style_row_groups_tbl[["html_style"]] + # Update TD element to use valid_html_id for both headers and id attributes group_col_td <- htmltools::tags$td( - headers = group_id, + headers = valid_html_id(group_id, tbl_id), rowspan = rowspan_val, class = "gt_row gt_left gt_stub_row_group", style = row_style_group_heading_row, - id = group_id, + id = valid_html_id(group_id, tbl_id), htmltools::HTML(group_label) ) @@ -1286,7 +1293,7 @@ create_body_component_h <- function(data) { if (!is.null(indentation_stub) && indentation_stub != 0) { extra_classes[[row_label_col]] <- - paste( + c( extra_classes[[row_label_col]], paste0("gt_indent_", indentation_stub) ) @@ -1378,7 +1385,7 @@ create_body_component_h <- function(data) { # Situation where we have two columns in the stub and the row label # isn't the first (the `row_df` vector will have one less element) if (length(col_names_id) > length(row_df)) { - col_id_i <- col_names_id[-(length(col_names_id) - length(row_df))] + col_id_i <- col_names_id[-(length(col_names_id) - length(row_df) + 1)] } else { col_id_i <- col_names_id } @@ -1388,9 +1395,18 @@ create_body_component_h <- function(data) { if (stub_width == 0) { row_id_i <- character(length(col_id_i)) } else if (stub_width == 1) { - row_id_i <- rep(paste0(col_id_i[1], "_", i), length(col_id_i)) + # Add table ID prefix to row ID base, but keep the same logic + row_id_i <- rep(valid_html_id(paste0(col_id_i[1], "_", i), tbl_id), length(col_id_i)) } else if (stub_width == 2) { - row_id_i <- rep(paste0(col_id_i[2], "_", i), length(col_id_i)) + # For 2-column stubs, we need to handle both first and non-first rows in a group + if (has_two_col_stub && !group_start) { + # For non-first rows, use the first column ID after the group column was removed + # This is what was originally the second column (stub column) + row_id_i <- rep(valid_html_id(paste0(col_id_i[1], "_", i), tbl_id), length(col_id_i)) + } else { + # First row or other cases - use the second column ID + row_id_i <- rep(valid_html_id(paste0(col_id_i[2], "_", i), tbl_id), length(col_id_i)) + } } # In the situation where there is: @@ -1439,6 +1455,8 @@ create_body_component_h <- function(data) { # needs to be repeated to match the size of the other fields group_ids <- vctrs::vec_rep_each(group_ids, times = ns) body_rows_data_flat$current_group_id <- group_ids + # Pass the table_id to render_row_data + body_rows_data_flat$tbl_id <- tbl_id ## here we have to make sur the lengths can be recycled to each others. # vctrs::vec_recycle_common() body_rows_uncollapsed <- vctrs::vec_chop( @@ -1521,7 +1539,8 @@ render_row_data <- function( row_span_vals, alignment_classes, extra_classes, - row_styles + row_styles, + tbl_id = NULL # Add parameter for table_id ) { n <- length(row_df) @@ -1539,17 +1558,67 @@ render_row_data <- function( scope <- rep.int("row", n) scope[!is.na(row_span_vals) & row_span_vals > 1] <- "rowgroup" - has_group <- !is.na(current_group_id) - header <- paste0( - ifelse(has_group, current_group_id, ""), ifelse(has_group, " ", ""), - row_id_i, ifelse(has_group | nzchar(row_id_i), " ", ""), - col_id_i - ) + # Create headers for each cell individually + headers <- character(n) + + # Determine row boundaries in flattened data by tracking the pattern of stubs + row_starts <- which(has_stub_class) + + if (length(row_starts) > 0) { + # For each cell, find which row it belongs to + for (i in seq_len(n)) { + # Find which row this cell belongs to + row_idx <- findInterval(i, row_starts) + if (row_idx > 0 && row_idx <= length(row_starts)) { + # Get the stub position for this cell's row + stub_pos <- row_starts[row_idx] + + # Start with an empty vector of header components + cell_headers <- character(0) + + # Add the group ID if available - use the group ID specific to this cell's position + cell_group_id <- current_group_id[i] + if (!is.na(cell_group_id)) { + cell_headers <- c(cell_headers, valid_html_id(cell_group_id, tbl_id)) + } + + # If this is not a stub cell itself, add a reference to this row's stub + if (!has_stub_class[i] && has_stub_class[stub_pos] && nzchar(row_id_i[stub_pos])) { + cell_headers <- c(cell_headers, row_id_i[stub_pos]) + } + + # Add this cell's column ID + col_id_prefixed <- valid_html_id(col_id_i[i], tbl_id) + cell_headers <- c(cell_headers, col_id_prefixed) + + # Set headers for this cell + headers[i] <- paste(cell_headers, collapse = " ") + } + } + } else { + # No stub cells, just reference column headers + for (i in seq_len(n)) { + cell_headers <- character(0) + + # Add group ID if available - use the group ID specific to this cell's position + cell_group_id <- current_group_id[i] + if (!is.na(cell_group_id)) { + cell_headers <- c(cell_headers, valid_html_id(cell_group_id, tbl_id)) + } + + # Add column ID + col_id_prefixed <- valid_html_id(col_id_i[i], tbl_id) + cell_headers <- c(cell_headers, col_id_prefixed) + + headers[i] <- paste(cell_headers, collapse = " ") + } + } + # For stub cells, use the already-prefixed row_id_i directly base_attributes <- ifelse( has_stub_class, paste0("id=\"", row_id_i, "\" ", "scope=\"", scope, "\" "), - paste0("headers=\"", header, "\" ") + paste0("headers=\"", headers, "\" ") ) row_span_attributes <- character(n) @@ -1829,6 +1898,9 @@ summary_rows_for_group_h <- function( list_of_summaries <- dt_summary_df_get(data = data) styles_tbl <- dt_styles_get(data = data) + + # Get the table ID if available + tbl_id <- dt_options_get_value(data = data, option = "table_id") # Obtain all of the visible (`"default"`), non-stub column names # for the table from the `boxh` object @@ -1976,31 +2048,37 @@ summary_rows_for_group_h <- function( sprintf( "<%s %sclass=\"%s\"%s>%s", if ("gt_stub" %in% extra_class) { - # 1. opening tag + # 1. opening tag - construct complete ID before prefixing paste0( "th ", "id=\"", if (summary_row_type == "grand") { - paste0("grand_summary_stub_", j, "\" ") + valid_html_id(paste0("grand_summary_stub_", j), tbl_id) } else { - paste0("summary_stub_", group_id, "_", j, "\" ") + valid_html_id(paste0("summary_stub_", group_id, "_", j), tbl_id) }, + "\" ", "scope=\"row\"" ) } else { - # headers = "group_row_id row_header_id col_header_id" + # headers attribute - construct complete IDs before prefixing paste0( "td ", "headers=\"", if (summary_row_type == "grand") { + # Construct complete ID before prefixing paste0( - "grand_summary_stub_", - j, " ", col_name, "\"" + valid_html_id(paste0("grand_summary_stub_", j), tbl_id), + " ", + valid_html_id(col_name, tbl_id), "\"" ) } else { + # Construct complete IDs before prefixing paste0( - group_id, " summary_stub_", - group_id, "_", j, " ", col_name, "\"" + valid_html_id(group_id, tbl_id), " ", + valid_html_id(paste0("summary_stub_", group_id, "_", j), tbl_id), + " ", + valid_html_id(col_name, tbl_id), "\"" ) } ) @@ -2115,9 +2193,27 @@ as_css_font_family_attr <- function(font_vec, value_only = FALSE) { paste_between(value, x_2 = c("font-family: ", ";")) } -valid_html_id <- function(x) { - # Make sure it starts with a letter. - valid_ids <- grepl("^[A-z]", x) - x[!valid_ids] <- paste0("a", x[!valid_ids]) - gsub("\\s+", "-", x) +valid_html_id <- function(x, tbl_id = NULL) { + # Identify empty strings after trimming whitespace + is_empty <- trimws(x) == "" + + # Process non-empty strings + if (any(!is_empty)) { + # Make sure non-empty strings start with a letter + valid_ids <- grepl("^[A-z]", x[!is_empty]) + x[!is_empty][!valid_ids] <- paste0("a", x[!is_empty][!valid_ids]) + + # Replace whitespace with hyphens + x[!is_empty] <- gsub("\\s+", "-", x[!is_empty]) + + # If a table ID is provided, prepend it to each non-empty element ID + if (!is.null(tbl_id) && length(tbl_id) > 0 && !is.na(tbl_id) && nchar(tbl_id) > 0) { + x[!is_empty] <- paste(tbl_id, x[!is_empty], sep = "-") + } + } + + # Ensure empty strings are empty + x[is_empty] <- "" + + return(x) } diff --git a/tests/testthat/_snaps/data_color.md b/tests/testthat/_snaps/data_color.md index ad6333e8f..bd0070c6b 100644 --- a/tests/testthat/_snaps/data_color.md +++ b/tests/testthat/_snaps/data_color.md @@ -2349,185 +2349,185 @@ jan -
-
-
- 84.9 - 78.7 - 72.7 - 66.1 - 61.5 - 56.5 - 52.1 - 48.3 - 45.5 - 43.6 - 43.0 +
+
+
+ 84.9 + 78.7 + 72.7 + 66.1 + 61.5 + 56.5 + 52.1 + 48.3 + 45.5 + 43.6 + 43.0 feb -
-
- 88.9 - 82.5 - 75.8 - 69.6 - 63.3 - 57.7 - 52.2 - 47.4 - 43.1 - 40.0 - 37.8 - 37.2 +
+
+ 88.9 + 82.5 + 75.8 + 69.6 + 63.3 + 57.7 + 52.2 + 47.4 + 43.1 + 40.0 + 37.8 + 37.2 mar -
-
- 85.7 - 78.8 - 72.0 - 65.2 - 58.6 - 52.3 - 46.2 - 40.5 - 35.5 - 31.4 - 28.6 - 27.7 +
+
+ 85.7 + 78.8 + 72.0 + 65.2 + 58.6 + 52.3 + 46.2 + 40.5 + 35.5 + 31.4 + 28.6 + 27.7 apr -
- 88.5 - 81.5 - 74.4 - 67.4 - 60.3 - 53.4 - 46.5 - 39.7 - 33.2 - 26.9 - 21.3 - 17.2 - 15.5 +
+ 88.5 + 81.5 + 74.4 + 67.4 + 60.3 + 53.4 + 46.5 + 39.7 + 33.2 + 26.9 + 21.3 + 17.2 + 15.5 may -
- 85.0 - 78.2 - 71.2 - 64.3 - 57.2 - 50.2 - 43.2 - 36.1 - 29.1 - 26.1 - 15.2 - 8.8 - 5.0 +
+ 85.0 + 78.2 + 71.2 + 64.3 + 57.2 + 50.2 + 43.2 + 36.1 + 29.1 + 26.1 + 15.2 + 8.8 + 5.0 jun - 89.2 - 82.7 - 76.0 - 69.3 - 62.5 - 55.7 - 48.8 - 41.9 - 35.0 - 28.1 - 21.1 - 14.2 - 7.3 - 2.0 + 89.2 + 82.7 + 76.0 + 69.3 + 62.5 + 55.7 + 48.8 + 41.9 + 35.0 + 28.1 + 21.1 + 14.2 + 7.3 + 2.0 jul - 88.8 - 82.3 - 75.7 - 69.1 - 62.3 - 55.5 - 48.7 - 41.8 - 35.0 - 28.1 - 21.2 - 14.3 - 7.7 - 3.1 + 88.8 + 82.3 + 75.7 + 69.1 + 62.3 + 55.5 + 48.7 + 41.8 + 35.0 + 28.1 + 21.2 + 14.3 + 7.7 + 3.1 aug -
- 83.8 - 77.1 - 70.2 - 63.3 - 56.4 - 49.4 - 42.4 - 35.4 - 28.3 - 21.3 - 14.3 - 7.3 - 1.9 +
+ 83.8 + 77.1 + 70.2 + 63.3 + 56.4 + 49.4 + 42.4 + 35.4 + 28.3 + 21.3 + 14.3 + 7.3 + 1.9 sep -
- 87.2 - 80.2 - 73.2 - 66.1 - 59.1 - 52.1 - 45.1 - 38.1 - 31.3 - 24.7 - 18.6 - 13.7 - 11.6 +
+ 87.2 + 80.2 + 73.2 + 66.1 + 59.1 + 52.1 + 45.1 + 38.1 + 31.3 + 24.7 + 18.6 + 13.7 + 11.6 oct -
-
- 84.1 - 77.1 - 70.2 - 63.3 - 56.5 - 49.9 - 43.5 - 37.5 - 32.0 - 27.4 - 24.3 - 23.1 +
+
+ 84.1 + 77.1 + 70.2 + 63.3 + 56.5 + 49.9 + 43.5 + 37.5 + 32.0 + 27.4 + 24.3 + 23.1 nov -
-
- 87.8 - 81.3 - 74.5 - 68.3 - 61.8 - 56.0 - 50.2 - 45.3 - 40.7 - 37.4 - 35.1 - 34.4 +
+
+ 87.8 + 81.3 + 74.5 + 68.3 + 61.8 + 56.0 + 50.2 + 45.3 + 40.7 + 37.4 + 35.1 + 34.4 dec -
-
-
- 84.3 - 78.0 - 71.8 - 66.1 - 60.5 - 55.6 - 50.9 - 47.2 - 44.2 - 42.4 - 41.8 +
+
+
+ 84.3 + 78.0 + 71.8 + 66.1 + 60.5 + 55.6 + 50.9 + 47.2 + 44.2 + 42.4 + 41.8 @@ -2560,185 +2560,185 @@ jan -
-
-
- 84.9 - 78.7 - 72.7 - 66.1 - 61.5 - 56.5 - 52.1 - 48.3 - 45.5 - 43.6 - 43.0 +
+
+
+ 84.9 + 78.7 + 72.7 + 66.1 + 61.5 + 56.5 + 52.1 + 48.3 + 45.5 + 43.6 + 43.0 feb -
-
- 88.9 - 82.5 - 75.8 - 69.6 - 63.3 - 57.7 - 52.2 - 47.4 - 43.1 - 40.0 - 37.8 - 37.2 +
+
+ 88.9 + 82.5 + 75.8 + 69.6 + 63.3 + 57.7 + 52.2 + 47.4 + 43.1 + 40.0 + 37.8 + 37.2 mar -
-
- 85.7 - 78.8 - 72.0 - 65.2 - 58.6 - 52.3 - 46.2 - 40.5 - 35.5 - 31.4 - 28.6 - 27.7 +
+
+ 85.7 + 78.8 + 72.0 + 65.2 + 58.6 + 52.3 + 46.2 + 40.5 + 35.5 + 31.4 + 28.6 + 27.7 apr -
- 88.5 - 81.5 - 74.4 - 67.4 - 60.3 - 53.4 - 46.5 - 39.7 - 33.2 - 26.9 - 21.3 - 17.2 - 15.5 +
+ 88.5 + 81.5 + 74.4 + 67.4 + 60.3 + 53.4 + 46.5 + 39.7 + 33.2 + 26.9 + 21.3 + 17.2 + 15.5 may -
- 85.0 - 78.2 - 71.2 - 64.3 - 57.2 - 50.2 - 43.2 - 36.1 - 29.1 - 26.1 - 15.2 - 8.8 - 5.0 +
+ 85.0 + 78.2 + 71.2 + 64.3 + 57.2 + 50.2 + 43.2 + 36.1 + 29.1 + 26.1 + 15.2 + 8.8 + 5.0 jun - 89.2 - 82.7 - 76.0 - 69.3 - 62.5 - 55.7 - 48.8 - 41.9 - 35.0 - 28.1 - 21.1 - 14.2 - 7.3 - 2.0 + 89.2 + 82.7 + 76.0 + 69.3 + 62.5 + 55.7 + 48.8 + 41.9 + 35.0 + 28.1 + 21.1 + 14.2 + 7.3 + 2.0 jul - 88.8 - 82.3 - 75.7 - 69.1 - 62.3 - 55.5 - 48.7 - 41.8 - 35.0 - 28.1 - 21.2 - 14.3 - 7.7 - 3.1 + 88.8 + 82.3 + 75.7 + 69.1 + 62.3 + 55.5 + 48.7 + 41.8 + 35.0 + 28.1 + 21.2 + 14.3 + 7.7 + 3.1 aug -
- 83.8 - 77.1 - 70.2 - 63.3 - 56.4 - 49.4 - 42.4 - 35.4 - 28.3 - 21.3 - 14.3 - 7.3 - 1.9 +
+ 83.8 + 77.1 + 70.2 + 63.3 + 56.4 + 49.4 + 42.4 + 35.4 + 28.3 + 21.3 + 14.3 + 7.3 + 1.9 sep -
- 87.2 - 80.2 - 73.2 - 66.1 - 59.1 - 52.1 - 45.1 - 38.1 - 31.3 - 24.7 - 18.6 - 13.7 - 11.6 +
+ 87.2 + 80.2 + 73.2 + 66.1 + 59.1 + 52.1 + 45.1 + 38.1 + 31.3 + 24.7 + 18.6 + 13.7 + 11.6 oct -
-
- 84.1 - 77.1 - 70.2 - 63.3 - 56.5 - 49.9 - 43.5 - 37.5 - 32.0 - 27.4 - 24.3 - 23.1 +
+
+ 84.1 + 77.1 + 70.2 + 63.3 + 56.5 + 49.9 + 43.5 + 37.5 + 32.0 + 27.4 + 24.3 + 23.1 nov -
-
- 87.8 - 81.3 - 74.5 - 68.3 - 61.8 - 56.0 - 50.2 - 45.3 - 40.7 - 37.4 - 35.1 - 34.4 +
+
+ 87.8 + 81.3 + 74.5 + 68.3 + 61.8 + 56.0 + 50.2 + 45.3 + 40.7 + 37.4 + 35.1 + 34.4 dec -
-
-
- 84.3 - 78.0 - 71.8 - 66.1 - 60.5 - 55.6 - 50.9 - 47.2 - 44.2 - 42.4 - 41.8 +
+
+
+ 84.3 + 78.0 + 71.8 + 66.1 + 60.5 + 55.6 + 50.9 + 47.2 + 44.2 + 42.4 + 41.8 @@ -2771,185 +2771,185 @@ jan -
-
-
- 84.9 - 78.7 - 72.7 - 66.1 - 61.5 - 56.5 - 52.1 - 48.3 - 45.5 - 43.6 - 43.0 +
+
+
+ 84.9 + 78.7 + 72.7 + 66.1 + 61.5 + 56.5 + 52.1 + 48.3 + 45.5 + 43.6 + 43.0 feb -
-
- 88.9 - 82.5 - 75.8 - 69.6 - 63.3 - 57.7 - 52.2 - 47.4 - 43.1 - 40.0 - 37.8 - 37.2 +
+
+ 88.9 + 82.5 + 75.8 + 69.6 + 63.3 + 57.7 + 52.2 + 47.4 + 43.1 + 40.0 + 37.8 + 37.2 mar -
-
- 85.7 - 78.8 - 72.0 - 65.2 - 58.6 - 52.3 - 46.2 - 40.5 - 35.5 - 31.4 - 28.6 - 27.7 +
+
+ 85.7 + 78.8 + 72.0 + 65.2 + 58.6 + 52.3 + 46.2 + 40.5 + 35.5 + 31.4 + 28.6 + 27.7 apr -
- 88.5 - 81.5 - 74.4 - 67.4 - 60.3 - 53.4 - 46.5 - 39.7 - 33.2 - 26.9 - 21.3 - 17.2 - 15.5 +
+ 88.5 + 81.5 + 74.4 + 67.4 + 60.3 + 53.4 + 46.5 + 39.7 + 33.2 + 26.9 + 21.3 + 17.2 + 15.5 may -
- 85.0 - 78.2 - 71.2 - 64.3 - 57.2 - 50.2 - 43.2 - 36.1 - 29.1 - 26.1 - 15.2 - 8.8 - 5.0 +
+ 85.0 + 78.2 + 71.2 + 64.3 + 57.2 + 50.2 + 43.2 + 36.1 + 29.1 + 26.1 + 15.2 + 8.8 + 5.0 jun - 89.2 - 82.7 - 76.0 - 69.3 - 62.5 - 55.7 - 48.8 - 41.9 - 35.0 - 28.1 - 21.1 - 14.2 - 7.3 - 2.0 + 89.2 + 82.7 + 76.0 + 69.3 + 62.5 + 55.7 + 48.8 + 41.9 + 35.0 + 28.1 + 21.1 + 14.2 + 7.3 + 2.0 jul - 88.8 - 82.3 - 75.7 - 69.1 - 62.3 - 55.5 - 48.7 - 41.8 - 35.0 - 28.1 - 21.2 - 14.3 - 7.7 - 3.1 + 88.8 + 82.3 + 75.7 + 69.1 + 62.3 + 55.5 + 48.7 + 41.8 + 35.0 + 28.1 + 21.2 + 14.3 + 7.7 + 3.1 aug -
- 83.8 - 77.1 - 70.2 - 63.3 - 56.4 - 49.4 - 42.4 - 35.4 - 28.3 - 21.3 - 14.3 - 7.3 - 1.9 +
+ 83.8 + 77.1 + 70.2 + 63.3 + 56.4 + 49.4 + 42.4 + 35.4 + 28.3 + 21.3 + 14.3 + 7.3 + 1.9 sep -
- 87.2 - 80.2 - 73.2 - 66.1 - 59.1 - 52.1 - 45.1 - 38.1 - 31.3 - 24.7 - 18.6 - 13.7 - 11.6 +
+ 87.2 + 80.2 + 73.2 + 66.1 + 59.1 + 52.1 + 45.1 + 38.1 + 31.3 + 24.7 + 18.6 + 13.7 + 11.6 oct -
-
- 84.1 - 77.1 - 70.2 - 63.3 - 56.5 - 49.9 - 43.5 - 37.5 - 32.0 - 27.4 - 24.3 - 23.1 +
+
+ 84.1 + 77.1 + 70.2 + 63.3 + 56.5 + 49.9 + 43.5 + 37.5 + 32.0 + 27.4 + 24.3 + 23.1 nov -
-
- 87.8 - 81.3 - 74.5 - 68.3 - 61.8 - 56.0 - 50.2 - 45.3 - 40.7 - 37.4 - 35.1 - 34.4 +
+
+ 87.8 + 81.3 + 74.5 + 68.3 + 61.8 + 56.0 + 50.2 + 45.3 + 40.7 + 37.4 + 35.1 + 34.4 dec -
-
-
- 84.3 - 78.0 - 71.8 - 66.1 - 60.5 - 55.6 - 50.9 - 47.2 - 44.2 - 42.4 - 41.8 +
+
+
+ 84.3 + 78.0 + 71.8 + 66.1 + 60.5 + 55.6 + 50.9 + 47.2 + 44.2 + 42.4 + 41.8 @@ -2982,185 +2982,185 @@ jan -
-
-
- 84.9 - 78.7 - 72.7 - 66.1 - 61.5 - 56.5 - 52.1 - 48.3 - 45.5 - 43.6 - 43.0 +
+
+
+ 84.9 + 78.7 + 72.7 + 66.1 + 61.5 + 56.5 + 52.1 + 48.3 + 45.5 + 43.6 + 43.0 feb -
-
- 88.9 - 82.5 - 75.8 - 69.6 - 63.3 - 57.7 - 52.2 - 47.4 - 43.1 - 40.0 - 37.8 - 37.2 +
+
+ 88.9 + 82.5 + 75.8 + 69.6 + 63.3 + 57.7 + 52.2 + 47.4 + 43.1 + 40.0 + 37.8 + 37.2 mar -
-
- 85.7 - 78.8 - 72.0 - 65.2 - 58.6 - 52.3 - 46.2 - 40.5 - 35.5 - 31.4 - 28.6 - 27.7 +
+
+ 85.7 + 78.8 + 72.0 + 65.2 + 58.6 + 52.3 + 46.2 + 40.5 + 35.5 + 31.4 + 28.6 + 27.7 apr -
- 88.5 - 81.5 - 74.4 - 67.4 - 60.3 - 53.4 - 46.5 - 39.7 - 33.2 - 26.9 - 21.3 - 17.2 - 15.5 +
+ 88.5 + 81.5 + 74.4 + 67.4 + 60.3 + 53.4 + 46.5 + 39.7 + 33.2 + 26.9 + 21.3 + 17.2 + 15.5 may -
- 85.0 - 78.2 - 71.2 - 64.3 - 57.2 - 50.2 - 43.2 - 36.1 - 29.1 - 26.1 - 15.2 - 8.8 - 5.0 +
+ 85.0 + 78.2 + 71.2 + 64.3 + 57.2 + 50.2 + 43.2 + 36.1 + 29.1 + 26.1 + 15.2 + 8.8 + 5.0 jun - 89.2 - 82.7 - 76.0 - 69.3 - 62.5 - 55.7 - 48.8 - 41.9 - 35.0 - 28.1 - 21.1 - 14.2 - 7.3 - 2.0 + 89.2 + 82.7 + 76.0 + 69.3 + 62.5 + 55.7 + 48.8 + 41.9 + 35.0 + 28.1 + 21.1 + 14.2 + 7.3 + 2.0 jul - 88.8 - 82.3 - 75.7 - 69.1 - 62.3 - 55.5 - 48.7 - 41.8 - 35.0 - 28.1 - 21.2 - 14.3 - 7.7 - 3.1 + 88.8 + 82.3 + 75.7 + 69.1 + 62.3 + 55.5 + 48.7 + 41.8 + 35.0 + 28.1 + 21.2 + 14.3 + 7.7 + 3.1 aug -
- 83.8 - 77.1 - 70.2 - 63.3 - 56.4 - 49.4 - 42.4 - 35.4 - 28.3 - 21.3 - 14.3 - 7.3 - 1.9 +
+ 83.8 + 77.1 + 70.2 + 63.3 + 56.4 + 49.4 + 42.4 + 35.4 + 28.3 + 21.3 + 14.3 + 7.3 + 1.9 sep -
- 87.2 - 80.2 - 73.2 - 66.1 - 59.1 - 52.1 - 45.1 - 38.1 - 31.3 - 24.7 - 18.6 - 13.7 - 11.6 +
+ 87.2 + 80.2 + 73.2 + 66.1 + 59.1 + 52.1 + 45.1 + 38.1 + 31.3 + 24.7 + 18.6 + 13.7 + 11.6 oct -
-
- 84.1 - 77.1 - 70.2 - 63.3 - 56.5 - 49.9 - 43.5 - 37.5 - 32.0 - 27.4 - 24.3 - 23.1 +
+
+ 84.1 + 77.1 + 70.2 + 63.3 + 56.5 + 49.9 + 43.5 + 37.5 + 32.0 + 27.4 + 24.3 + 23.1 nov -
-
- 87.8 - 81.3 - 74.5 - 68.3 - 61.8 - 56.0 - 50.2 - 45.3 - 40.7 - 37.4 - 35.1 - 34.4 +
+
+ 87.8 + 81.3 + 74.5 + 68.3 + 61.8 + 56.0 + 50.2 + 45.3 + 40.7 + 37.4 + 35.1 + 34.4 dec -
-
-
- 84.3 - 78.0 - 71.8 - 66.1 - 60.5 - 55.6 - 50.9 - 47.2 - 44.2 - 42.4 - 41.8 +
+
+
+ 84.3 + 78.0 + 71.8 + 66.1 + 60.5 + 55.6 + 50.9 + 47.2 + 44.2 + 42.4 + 41.8 @@ -3193,185 +3193,185 @@ jan -
-
-
- 84.9 - 78.7 - 72.7 - 66.1 - 61.5 - 56.5 - 52.1 - 48.3 - 45.5 - 43.6 - 43.0 +
+
+
+ 84.9 + 78.7 + 72.7 + 66.1 + 61.5 + 56.5 + 52.1 + 48.3 + 45.5 + 43.6 + 43.0 feb -
-
- 88.9 - 82.5 - 75.8 - 69.6 - 63.3 - 57.7 - 52.2 - 47.4 - 43.1 - 40.0 - 37.8 - 37.2 +
+
+ 88.9 + 82.5 + 75.8 + 69.6 + 63.3 + 57.7 + 52.2 + 47.4 + 43.1 + 40.0 + 37.8 + 37.2 mar -
-
- 85.7 - 78.8 - 72.0 - 65.2 - 58.6 - 52.3 - 46.2 - 40.5 - 35.5 - 31.4 - 28.6 - 27.7 +
+
+ 85.7 + 78.8 + 72.0 + 65.2 + 58.6 + 52.3 + 46.2 + 40.5 + 35.5 + 31.4 + 28.6 + 27.7 apr -
- 88.5 - 81.5 - 74.4 - 67.4 - 60.3 - 53.4 - 46.5 - 39.7 - 33.2 - 26.9 - 21.3 - 17.2 - 15.5 +
+ 88.5 + 81.5 + 74.4 + 67.4 + 60.3 + 53.4 + 46.5 + 39.7 + 33.2 + 26.9 + 21.3 + 17.2 + 15.5 may -
- 85.0 - 78.2 - 71.2 - 64.3 - 57.2 - 50.2 - 43.2 - 36.1 - 29.1 - 26.1 - 15.2 - 8.8 - 5.0 +
+ 85.0 + 78.2 + 71.2 + 64.3 + 57.2 + 50.2 + 43.2 + 36.1 + 29.1 + 26.1 + 15.2 + 8.8 + 5.0 jun - 89.2 - 82.7 - 76.0 - 69.3 - 62.5 - 55.7 - 48.8 - 41.9 - 35.0 - 28.1 - 21.1 - 14.2 - 7.3 - 2.0 + 89.2 + 82.7 + 76.0 + 69.3 + 62.5 + 55.7 + 48.8 + 41.9 + 35.0 + 28.1 + 21.1 + 14.2 + 7.3 + 2.0 jul - 88.8 - 82.3 - 75.7 - 69.1 - 62.3 - 55.5 - 48.7 - 41.8 - 35.0 - 28.1 - 21.2 - 14.3 - 7.7 - 3.1 + 88.8 + 82.3 + 75.7 + 69.1 + 62.3 + 55.5 + 48.7 + 41.8 + 35.0 + 28.1 + 21.2 + 14.3 + 7.7 + 3.1 aug -
- 83.8 - 77.1 - 70.2 - 63.3 - 56.4 - 49.4 - 42.4 - 35.4 - 28.3 - 21.3 - 14.3 - 7.3 - 1.9 +
+ 83.8 + 77.1 + 70.2 + 63.3 + 56.4 + 49.4 + 42.4 + 35.4 + 28.3 + 21.3 + 14.3 + 7.3 + 1.9 sep -
- 87.2 - 80.2 - 73.2 - 66.1 - 59.1 - 52.1 - 45.1 - 38.1 - 31.3 - 24.7 - 18.6 - 13.7 - 11.6 +
+ 87.2 + 80.2 + 73.2 + 66.1 + 59.1 + 52.1 + 45.1 + 38.1 + 31.3 + 24.7 + 18.6 + 13.7 + 11.6 oct -
-
- 84.1 - 77.1 - 70.2 - 63.3 - 56.5 - 49.9 - 43.5 - 37.5 - 32.0 - 27.4 - 24.3 - 23.1 +
+
+ 84.1 + 77.1 + 70.2 + 63.3 + 56.5 + 49.9 + 43.5 + 37.5 + 32.0 + 27.4 + 24.3 + 23.1 nov -
-
- 87.8 - 81.3 - 74.5 - 68.3 - 61.8 - 56.0 - 50.2 - 45.3 - 40.7 - 37.4 - 35.1 - 34.4 +
+
+ 87.8 + 81.3 + 74.5 + 68.3 + 61.8 + 56.0 + 50.2 + 45.3 + 40.7 + 37.4 + 35.1 + 34.4 dec -
-
-
- 84.3 - 78.0 - 71.8 - 66.1 - 60.5 - 55.6 - 50.9 - 47.2 - 44.2 - 42.4 - 41.8 +
+
+
+ 84.3 + 78.0 + 71.8 + 66.1 + 60.5 + 55.6 + 50.9 + 47.2 + 44.2 + 42.4 + 41.8 @@ -3400,16 +3400,16 @@ Mongolia - 2845153 - 2902823 - 2964749 - 3029555 - 3096030 - 3163991 - 3232430 - 3294335 - 3347782 - 3398366 + 2845153 + 2902823 + 2964749 + 3029555 + 3096030 + 3163991 + 3232430 + 3294335 + 3347782 + 3398366 @@ -3438,16 +3438,16 @@ Mongolia - 2845153 - 2902823 - 2964749 - 3029555 - 3096030 - 3163991 - 3232430 - 3294335 - 3347782 - 3398366 + 2845153 + 2902823 + 2964749 + 3029555 + 3096030 + 3163991 + 3232430 + 3294335 + 3347782 + 3398366 @@ -3476,16 +3476,16 @@ Mongolia - 2845153 - 2902823 - 2964749 - 3029555 - 3096030 - 3163991 - 3232430 - 3294335 - 3347782 - 3398366 + 2845153 + 2902823 + 2964749 + 3029555 + 3096030 + 3163991 + 3232430 + 3294335 + 3347782 + 3398366 @@ -3514,16 +3514,16 @@ Mongolia - 2845153 - 2902823 - 2964749 - 3029555 - 3096030 - 3163991 - 3232430 - 3294335 - 3347782 - 3398366 + 2845153 + 2902823 + 2964749 + 3029555 + 3096030 + 3163991 + 3232430 + 3294335 + 3347782 + 3398366 diff --git a/tests/testthat/_snaps/fmt_fraction.md b/tests/testthat/_snaps/fmt_fraction.md index 3d2e488af..e36306b2f 100644 --- a/tests/testthat/_snaps/fmt_fraction.md +++ b/tests/testthat/_snaps/fmt_fraction.md @@ -30,554 +30,554 @@ - 0 to 1 + 0 to 1 0.0001 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 0.0010 - 0 - 0 - 1999 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 1999 + 0 + 0 + 0 + 0 + 0 0.0100 - 0 - 199 - 1100 - 0 - 0 - 0 - 0 - 1100 + 0 + 199 + 1100 + 0 + 0 + 0 + 0 + 1100 0.1000 - 19 - 110 - 110 - 0 - 0 - 18 - 216 - 10100 + 19 + 110 + 110 + 0 + 0 + 18 + 216 + 10100 0.2500 - 14 - 14 - 14 - 12 - 14 - 28 - 416 - 25100 + 14 + 14 + 14 + 12 + 14 + 28 + 416 + 25100 0.4000 - 25 - 25 - 25 - 12 - 24 - 38 - 616 - 40100 + 25 + 25 + 25 + 12 + 24 + 38 + 616 + 40100 0.5000 - 12 - 12 - 12 - 12 - 24 - 48 - 816 - 50100 + 12 + 12 + 12 + 12 + 24 + 48 + 816 + 50100 0.6000 - 35 - 35 - 35 - 12 - 24 - 58 - 1016 - 60100 + 35 + 35 + 35 + 12 + 24 + 58 + 1016 + 60100 0.7500 - 34 - 34 - 34 - 1 - 34 - 68 - 1216 - 75100 + 34 + 34 + 34 + 1 + 34 + 68 + 1216 + 75100 0.9000 - 89 - 910 - 910 - 1 - 1 - 78 - 1416 - 90100 + 89 + 910 + 910 + 1 + 1 + 78 + 1416 + 90100 0.9900 - 1 - 9899 - 99100 - 1 - 1 - 1 - 1 - 99100 + 1 + 9899 + 99100 + 1 + 1 + 1 + 1 + 99100 0.9990 - 1 - 1 - 998999 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 998999 + 1 + 1 + 1 + 1 + 1 0.9999 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 to -1 + 0 to -1 -0.0001 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 -0.0010 - 0 - 0 - −1999 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + −1999 + 0 + 0 + 0 + 0 + 0 -0.0100 - 0 - −199 - −1100 - 0 - 0 - 0 - 0 - −1100 + 0 + −199 + −1100 + 0 + 0 + 0 + 0 + −1100 -0.1000 - −19 - −110 - −110 - 0 - 0 - −18 - −216 - −10100 + −19 + −110 + −110 + 0 + 0 + −18 + −216 + −10100 -0.2500 - −14 - −14 - −14 - −12 - −14 - −28 - −416 - −25100 + −14 + −14 + −14 + −12 + −14 + −28 + −416 + −25100 -0.4000 - −25 - −25 - −25 - −12 - −24 - −38 - −616 - −40100 + −25 + −25 + −25 + −12 + −24 + −38 + −616 + −40100 -0.5000 - −12 - −12 - −12 - −12 - −24 - −48 - −816 - −50100 + −12 + −12 + −12 + −12 + −24 + −48 + −816 + −50100 -0.6000 - −35 - −35 - −35 - −12 - −24 - −58 - −1016 - −60100 + −35 + −35 + −35 + −12 + −24 + −58 + −1016 + −60100 -0.7500 - −34 - −34 - −34 - −1 - −34 - −68 - −1216 - −75100 + −34 + −34 + −34 + −1 + −34 + −68 + −1216 + −75100 -0.9000 - −89 - −910 - −910 - −1 - −1 - −78 - −1416 - −90100 + −89 + −910 + −910 + −1 + −1 + −78 + −1416 + −90100 -0.9900 - −1 - −9899 - −99100 - −1 - −1 - −1 - −1 - −99100 + −1 + −9899 + −99100 + −1 + −1 + −1 + −1 + −99100 -0.9990 - −1 - −1 - −998999 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −998999 + −1 + −1 + −1 + −1 + −1 -0.9999 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 - 1 to 2 + 1 to 2 1.0001 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 1.0010 - 1 - 1 - 1 1999 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 1999 + 1 + 1 + 1 + 1 + 1 1.0100 - 1 - 1 199 - 1 1100 - 1 - 1 - 1 - 1 - 1 1100 + 1 + 1 199 + 1 1100 + 1 + 1 + 1 + 1 + 1 1100 1.1000 - 1 19 - 1 110 - 1 110 - 1 - 1 - 1 18 - 1 216 - 1 10100 + 1 19 + 1 110 + 1 110 + 1 + 1 + 1 18 + 1 216 + 1 10100 1.2500 - 1 14 - 1 14 - 1 14 - 1 12 - 1 14 - 1 28 - 1 416 - 1 25100 + 1 14 + 1 14 + 1 14 + 1 12 + 1 14 + 1 28 + 1 416 + 1 25100 1.4000 - 1 25 - 1 25 - 1 25 - 1 12 - 1 24 - 1 38 - 1 616 - 1 40100 + 1 25 + 1 25 + 1 25 + 1 12 + 1 24 + 1 38 + 1 616 + 1 40100 1.5000 - 1 12 - 1 12 - 1 12 - 1 12 - 1 24 - 1 48 - 1 816 - 1 50100 + 1 12 + 1 12 + 1 12 + 1 12 + 1 24 + 1 48 + 1 816 + 1 50100 1.6000 - 1 35 - 1 35 - 1 35 - 1 12 - 1 24 - 1 58 - 1 1016 - 1 60100 + 1 35 + 1 35 + 1 35 + 1 12 + 1 24 + 1 58 + 1 1016 + 1 60100 1.7500 - 1 34 - 1 34 - 1 34 - 2 - 1 34 - 1 68 - 1 1216 - 1 75100 + 1 34 + 1 34 + 1 34 + 2 + 1 34 + 1 68 + 1 1216 + 1 75100 1.9000 - 1 89 - 1 910 - 1 910 - 2 - 2 - 1 78 - 1 1416 - 1 90100 + 1 89 + 1 910 + 1 910 + 2 + 2 + 1 78 + 1 1416 + 1 90100 1.9900 - 2 - 1 9899 - 1 99100 - 2 - 2 - 2 - 2 - 1 99100 + 2 + 1 9899 + 1 99100 + 2 + 2 + 2 + 2 + 1 99100 1.9990 - 2 - 2 - 1 998999 - 2 - 2 - 2 - 2 - 2 + 2 + 2 + 1 998999 + 2 + 2 + 2 + 2 + 2 1.9999 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 - -1 to -2 + -1 to -2 -1.0001 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 -1.0010 - −1 - −1 - −1 1999 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 1999 + −1 + −1 + −1 + −1 + −1 -1.0100 - −1 - −1 199 - −1 1100 - −1 - −1 - −1 - −1 - −1 1100 + −1 + −1 199 + −1 1100 + −1 + −1 + −1 + −1 + −1 1100 -1.1000 - −1 19 - −1 110 - −1 110 - −1 - −1 - −1 18 - −1 216 - −1 10100 + −1 19 + −1 110 + −1 110 + −1 + −1 + −1 18 + −1 216 + −1 10100 -1.2500 - −1 14 - −1 14 - −1 14 - −1 12 - −1 14 - −1 28 - −1 416 - −1 25100 + −1 14 + −1 14 + −1 14 + −1 12 + −1 14 + −1 28 + −1 416 + −1 25100 -1.4000 - −1 25 - −1 25 - −1 25 - −1 12 - −1 24 - −1 38 - −1 616 - −1 40100 + −1 25 + −1 25 + −1 25 + −1 12 + −1 24 + −1 38 + −1 616 + −1 40100 -1.5000 - −1 12 - −1 12 - −1 12 - −1 12 - −1 24 - −1 48 - −1 816 - −1 50100 + −1 12 + −1 12 + −1 12 + −1 12 + −1 24 + −1 48 + −1 816 + −1 50100 -1.6000 - −1 35 - −1 35 - −1 35 - −1 12 - −1 24 - −1 58 - −1 1016 - −1 60100 + −1 35 + −1 35 + −1 35 + −1 12 + −1 24 + −1 58 + −1 1016 + −1 60100 -1.7500 - −1 34 - −1 34 - −1 34 - −2 - −1 34 - −1 68 - −1 1216 - −1 75100 + −1 34 + −1 34 + −1 34 + −2 + −1 34 + −1 68 + −1 1216 + −1 75100 -1.9000 - −1 89 - −1 910 - −1 910 - −2 - −2 - −1 78 - −1 1416 - −1 90100 + −1 89 + −1 910 + −1 910 + −2 + −2 + −1 78 + −1 1416 + −1 90100 -1.9900 - −2 - −1 9899 - −1 99100 - −2 - −2 - −2 - −2 - −1 99100 + −2 + −1 9899 + −1 99100 + −2 + −2 + −2 + −2 + −1 99100 -1.9990 - −2 - −2 - −1 998999 - −2 - −2 - −2 - −2 - −2 + −2 + −2 + −1 998999 + −2 + −2 + −2 + −2 + −2 -1.9999 - −2 - −2 - −2 - −2 - −2 - −2 - −2 - −2 + −2 + −2 + −2 + −2 + −2 + −2 + −2 + −2 - Exact Numbers + Exact Numbers -1.0000 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 0.0000 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 1.0000 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - Not Numbers + Not Numbers NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA NaN - NaN - NaN - NaN - NaN - NaN - NaN - NaN - NaN + NaN + NaN + NaN + NaN + NaN + NaN + NaN + NaN Inf - Inf - Inf - Inf - Inf - Inf - Inf - Inf - Inf + Inf + Inf + Inf + Inf + Inf + Inf + Inf + Inf -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf @@ -615,554 +615,554 @@ - 0 to 1 + 0 to 1 0.0001 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 0.0010 - 0 - 0 - 1/999 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 1/999 + 0 + 0 + 0 + 0 + 0 0.0100 - 0 - 1/99 - 1/100 - 0 - 0 - 0 - 0 - 1/100 + 0 + 1/99 + 1/100 + 0 + 0 + 0 + 0 + 1/100 0.1000 - 1/9 - 1/10 - 1/10 - 0 - 0 - 1/8 - 2/16 - 10/100 + 1/9 + 1/10 + 1/10 + 0 + 0 + 1/8 + 2/16 + 10/100 0.2500 - 1/4 - 1/4 - 1/4 - 1/2 - 1/4 - 2/8 - 4/16 - 25/100 + 1/4 + 1/4 + 1/4 + 1/2 + 1/4 + 2/8 + 4/16 + 25/100 0.4000 - 2/5 - 2/5 - 2/5 - 1/2 - 2/4 - 3/8 - 6/16 - 40/100 + 2/5 + 2/5 + 2/5 + 1/2 + 2/4 + 3/8 + 6/16 + 40/100 0.5000 - 1/2 - 1/2 - 1/2 - 1/2 - 2/4 - 4/8 - 8/16 - 50/100 + 1/2 + 1/2 + 1/2 + 1/2 + 2/4 + 4/8 + 8/16 + 50/100 0.6000 - 3/5 - 3/5 - 3/5 - 1/2 - 2/4 - 5/8 - 10/16 - 60/100 + 3/5 + 3/5 + 3/5 + 1/2 + 2/4 + 5/8 + 10/16 + 60/100 0.7500 - 3/4 - 3/4 - 3/4 - 1 - 3/4 - 6/8 - 12/16 - 75/100 + 3/4 + 3/4 + 3/4 + 1 + 3/4 + 6/8 + 12/16 + 75/100 0.9000 - 8/9 - 9/10 - 9/10 - 1 - 1 - 7/8 - 14/16 - 90/100 + 8/9 + 9/10 + 9/10 + 1 + 1 + 7/8 + 14/16 + 90/100 0.9900 - 1 - 98/99 - 99/100 - 1 - 1 - 1 - 1 - 99/100 + 1 + 98/99 + 99/100 + 1 + 1 + 1 + 1 + 99/100 0.9990 - 1 - 1 - 998/999 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 998/999 + 1 + 1 + 1 + 1 + 1 0.9999 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 to -1 + 0 to -1 -0.0001 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 -0.0010 - 0 - 0 - −1/999 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + −1/999 + 0 + 0 + 0 + 0 + 0 -0.0100 - 0 - −1/99 - −1/100 - 0 - 0 - 0 - 0 - −1/100 + 0 + −1/99 + −1/100 + 0 + 0 + 0 + 0 + −1/100 -0.1000 - −1/9 - −1/10 - −1/10 - 0 - 0 - −1/8 - −2/16 - −10/100 + −1/9 + −1/10 + −1/10 + 0 + 0 + −1/8 + −2/16 + −10/100 -0.2500 - −1/4 - −1/4 - −1/4 - −1/2 - −1/4 - −2/8 - −4/16 - −25/100 + −1/4 + −1/4 + −1/4 + −1/2 + −1/4 + −2/8 + −4/16 + −25/100 -0.4000 - −2/5 - −2/5 - −2/5 - −1/2 - −2/4 - −3/8 - −6/16 - −40/100 + −2/5 + −2/5 + −2/5 + −1/2 + −2/4 + −3/8 + −6/16 + −40/100 -0.5000 - −1/2 - −1/2 - −1/2 - −1/2 - −2/4 - −4/8 - −8/16 - −50/100 + −1/2 + −1/2 + −1/2 + −1/2 + −2/4 + −4/8 + −8/16 + −50/100 -0.6000 - −3/5 - −3/5 - −3/5 - −1/2 - −2/4 - −5/8 - −10/16 - −60/100 + −3/5 + −3/5 + −3/5 + −1/2 + −2/4 + −5/8 + −10/16 + −60/100 -0.7500 - −3/4 - −3/4 - −3/4 - −1 - −3/4 - −6/8 - −12/16 - −75/100 + −3/4 + −3/4 + −3/4 + −1 + −3/4 + −6/8 + −12/16 + −75/100 -0.9000 - −8/9 - −9/10 - −9/10 - −1 - −1 - −7/8 - −14/16 - −90/100 + −8/9 + −9/10 + −9/10 + −1 + −1 + −7/8 + −14/16 + −90/100 -0.9900 - −1 - −98/99 - −99/100 - −1 - −1 - −1 - −1 - −99/100 + −1 + −98/99 + −99/100 + −1 + −1 + −1 + −1 + −99/100 -0.9990 - −1 - −1 - −998/999 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −998/999 + −1 + −1 + −1 + −1 + −1 -0.9999 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 - 1 to 2 + 1 to 2 1.0001 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 1.0010 - 1 - 1 - 1 1/999 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 1/999 + 1 + 1 + 1 + 1 + 1 1.0100 - 1 - 1 1/99 - 1 1/100 - 1 - 1 - 1 - 1 - 1 1/100 + 1 + 1 1/99 + 1 1/100 + 1 + 1 + 1 + 1 + 1 1/100 1.1000 - 1 1/9 - 1 1/10 - 1 1/10 - 1 - 1 - 1 1/8 - 1 2/16 - 1 10/100 + 1 1/9 + 1 1/10 + 1 1/10 + 1 + 1 + 1 1/8 + 1 2/16 + 1 10/100 1.2500 - 1 1/4 - 1 1/4 - 1 1/4 - 1 1/2 - 1 1/4 - 1 2/8 - 1 4/16 - 1 25/100 + 1 1/4 + 1 1/4 + 1 1/4 + 1 1/2 + 1 1/4 + 1 2/8 + 1 4/16 + 1 25/100 1.4000 - 1 2/5 - 1 2/5 - 1 2/5 - 1 1/2 - 1 2/4 - 1 3/8 - 1 6/16 - 1 40/100 + 1 2/5 + 1 2/5 + 1 2/5 + 1 1/2 + 1 2/4 + 1 3/8 + 1 6/16 + 1 40/100 1.5000 - 1 1/2 - 1 1/2 - 1 1/2 - 1 1/2 - 1 2/4 - 1 4/8 - 1 8/16 - 1 50/100 + 1 1/2 + 1 1/2 + 1 1/2 + 1 1/2 + 1 2/4 + 1 4/8 + 1 8/16 + 1 50/100 1.6000 - 1 3/5 - 1 3/5 - 1 3/5 - 1 1/2 - 1 2/4 - 1 5/8 - 1 10/16 - 1 60/100 + 1 3/5 + 1 3/5 + 1 3/5 + 1 1/2 + 1 2/4 + 1 5/8 + 1 10/16 + 1 60/100 1.7500 - 1 3/4 - 1 3/4 - 1 3/4 - 2 - 1 3/4 - 1 6/8 - 1 12/16 - 1 75/100 + 1 3/4 + 1 3/4 + 1 3/4 + 2 + 1 3/4 + 1 6/8 + 1 12/16 + 1 75/100 1.9000 - 1 8/9 - 1 9/10 - 1 9/10 - 2 - 2 - 1 7/8 - 1 14/16 - 1 90/100 + 1 8/9 + 1 9/10 + 1 9/10 + 2 + 2 + 1 7/8 + 1 14/16 + 1 90/100 1.9900 - 2 - 1 98/99 - 1 99/100 - 2 - 2 - 2 - 2 - 1 99/100 + 2 + 1 98/99 + 1 99/100 + 2 + 2 + 2 + 2 + 1 99/100 1.9990 - 2 - 2 - 1 998/999 - 2 - 2 - 2 - 2 - 2 + 2 + 2 + 1 998/999 + 2 + 2 + 2 + 2 + 2 1.9999 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 - -1 to -2 + -1 to -2 -1.0001 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 -1.0010 - −1 - −1 - −1 1/999 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 1/999 + −1 + −1 + −1 + −1 + −1 -1.0100 - −1 - −1 1/99 - −1 1/100 - −1 - −1 - −1 - −1 - −1 1/100 + −1 + −1 1/99 + −1 1/100 + −1 + −1 + −1 + −1 + −1 1/100 -1.1000 - −1 1/9 - −1 1/10 - −1 1/10 - −1 - −1 - −1 1/8 - −1 2/16 - −1 10/100 + −1 1/9 + −1 1/10 + −1 1/10 + −1 + −1 + −1 1/8 + −1 2/16 + −1 10/100 -1.2500 - −1 1/4 - −1 1/4 - −1 1/4 - −1 1/2 - −1 1/4 - −1 2/8 - −1 4/16 - −1 25/100 + −1 1/4 + −1 1/4 + −1 1/4 + −1 1/2 + −1 1/4 + −1 2/8 + −1 4/16 + −1 25/100 -1.4000 - −1 2/5 - −1 2/5 - −1 2/5 - −1 1/2 - −1 2/4 - −1 3/8 - −1 6/16 - −1 40/100 + −1 2/5 + −1 2/5 + −1 2/5 + −1 1/2 + −1 2/4 + −1 3/8 + −1 6/16 + −1 40/100 -1.5000 - −1 1/2 - −1 1/2 - −1 1/2 - −1 1/2 - −1 2/4 - −1 4/8 - −1 8/16 - −1 50/100 + −1 1/2 + −1 1/2 + −1 1/2 + −1 1/2 + −1 2/4 + −1 4/8 + −1 8/16 + −1 50/100 -1.6000 - −1 3/5 - −1 3/5 - −1 3/5 - −1 1/2 - −1 2/4 - −1 5/8 - −1 10/16 - −1 60/100 + −1 3/5 + −1 3/5 + −1 3/5 + −1 1/2 + −1 2/4 + −1 5/8 + −1 10/16 + −1 60/100 -1.7500 - −1 3/4 - −1 3/4 - −1 3/4 - −2 - −1 3/4 - −1 6/8 - −1 12/16 - −1 75/100 + −1 3/4 + −1 3/4 + −1 3/4 + −2 + −1 3/4 + −1 6/8 + −1 12/16 + −1 75/100 -1.9000 - −1 8/9 - −1 9/10 - −1 9/10 - −2 - −2 - −1 7/8 - −1 14/16 - −1 90/100 + −1 8/9 + −1 9/10 + −1 9/10 + −2 + −2 + −1 7/8 + −1 14/16 + −1 90/100 -1.9900 - −2 - −1 98/99 - −1 99/100 - −2 - −2 - −2 - −2 - −1 99/100 + −2 + −1 98/99 + −1 99/100 + −2 + −2 + −2 + −2 + −1 99/100 -1.9990 - −2 - −2 - −1 998/999 - −2 - −2 - −2 - −2 - −2 + −2 + −2 + −1 998/999 + −2 + −2 + −2 + −2 + −2 -1.9999 - −2 - −2 - −2 - −2 - −2 - −2 - −2 - −2 + −2 + −2 + −2 + −2 + −2 + −2 + −2 + −2 - Exact Numbers + Exact Numbers -1.0000 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 0.0000 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 1.0000 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - Not Numbers + Not Numbers NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA NaN - NaN - NaN - NaN - NaN - NaN - NaN - NaN - NaN + NaN + NaN + NaN + NaN + NaN + NaN + NaN + NaN Inf - Inf - Inf - Inf - Inf - Inf - Inf - Inf - Inf + Inf + Inf + Inf + Inf + Inf + Inf + Inf + Inf -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf @@ -1200,554 +1200,554 @@ - 0 to 1 + 0 to 1 0.0001 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 0.0010 - 0 - 0 - 1/999 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 1/999 + 0 + 0 + 0 + 0 + 0 0.0100 - 0 - 1/99 - 1/100 - 0 - 0 - 0 - 0 - 1/100 + 0 + 1/99 + 1/100 + 0 + 0 + 0 + 0 + 1/100 0.1000 - 1/9 - 1/10 - 1/10 - 0 - 0 - 1/8 - 1/8 - 1/10 + 1/9 + 1/10 + 1/10 + 0 + 0 + 1/8 + 1/8 + 1/10 0.2500 - 1/4 - 1/4 - 1/4 - 1/2 - 1/4 - 1/4 - 1/4 - 1/4 + 1/4 + 1/4 + 1/4 + 1/2 + 1/4 + 1/4 + 1/4 + 1/4 0.4000 - 2/5 - 2/5 - 2/5 - 1/2 - 1/2 - 3/8 - 3/8 - 2/5 + 2/5 + 2/5 + 2/5 + 1/2 + 1/2 + 3/8 + 3/8 + 2/5 0.5000 - 1/2 - 1/2 - 1/2 - 1/2 - 1/2 - 1/2 - 1/2 - 1/2 + 1/2 + 1/2 + 1/2 + 1/2 + 1/2 + 1/2 + 1/2 + 1/2 0.6000 - 3/5 - 3/5 - 3/5 - 1/2 - 1/2 - 5/8 - 5/8 - 3/5 + 3/5 + 3/5 + 3/5 + 1/2 + 1/2 + 5/8 + 5/8 + 3/5 0.7500 - 3/4 - 3/4 - 3/4 - 1 - 3/4 - 3/4 - 3/4 - 3/4 + 3/4 + 3/4 + 3/4 + 1 + 3/4 + 3/4 + 3/4 + 3/4 0.9000 - 8/9 - 9/10 - 9/10 - 1 - 1 - 7/8 - 7/8 - 9/10 + 8/9 + 9/10 + 9/10 + 1 + 1 + 7/8 + 7/8 + 9/10 0.9900 - 1 - 98/99 - 99/100 - 1 - 1 - 1 - 1 - 99/100 + 1 + 98/99 + 99/100 + 1 + 1 + 1 + 1 + 99/100 0.9990 - 1 - 1 - 998/999 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 998/999 + 1 + 1 + 1 + 1 + 1 0.9999 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - 0 to -1 + 0 to -1 -0.0001 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 -0.0010 - 0 - 0 - −1/999 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + −1/999 + 0 + 0 + 0 + 0 + 0 -0.0100 - 0 - −1/99 - −1/100 - 0 - 0 - 0 - 0 - −1/100 + 0 + −1/99 + −1/100 + 0 + 0 + 0 + 0 + −1/100 -0.1000 - −1/9 - −1/10 - −1/10 - 0 - 0 - −1/8 - −1/8 - −1/10 + −1/9 + −1/10 + −1/10 + 0 + 0 + −1/8 + −1/8 + −1/10 -0.2500 - −1/4 - −1/4 - −1/4 - −1/2 - −1/4 - −1/4 - −1/4 - −1/4 + −1/4 + −1/4 + −1/4 + −1/2 + −1/4 + −1/4 + −1/4 + −1/4 -0.4000 - −2/5 - −2/5 - −2/5 - −1/2 - −1/2 - −3/8 - −3/8 - −2/5 + −2/5 + −2/5 + −2/5 + −1/2 + −1/2 + −3/8 + −3/8 + −2/5 -0.5000 - −1/2 - −1/2 - −1/2 - −1/2 - −1/2 - −1/2 - −1/2 - −1/2 + −1/2 + −1/2 + −1/2 + −1/2 + −1/2 + −1/2 + −1/2 + −1/2 -0.6000 - −3/5 - −3/5 - −3/5 - −1/2 - −1/2 - −5/8 - −5/8 - −3/5 + −3/5 + −3/5 + −3/5 + −1/2 + −1/2 + −5/8 + −5/8 + −3/5 -0.7500 - −3/4 - −3/4 - −3/4 - −1 - −3/4 - −3/4 - −3/4 - −3/4 + −3/4 + −3/4 + −3/4 + −1 + −3/4 + −3/4 + −3/4 + −3/4 -0.9000 - −8/9 - −9/10 - −9/10 - −1 - −1 - −7/8 - −7/8 - −9/10 + −8/9 + −9/10 + −9/10 + −1 + −1 + −7/8 + −7/8 + −9/10 -0.9900 - −1 - −98/99 - −99/100 - −1 - −1 - −1 - −1 - −99/100 + −1 + −98/99 + −99/100 + −1 + −1 + −1 + −1 + −99/100 -0.9990 - −1 - −1 - −998/999 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −998/999 + −1 + −1 + −1 + −1 + −1 -0.9999 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 - 1 to 2 + 1 to 2 1.0001 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 1.0010 - 1 - 1 - 1 1/999 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 1/999 + 1 + 1 + 1 + 1 + 1 1.0100 - 1 - 1 1/99 - 1 1/100 - 1 - 1 - 1 - 1 - 1 1/100 + 1 + 1 1/99 + 1 1/100 + 1 + 1 + 1 + 1 + 1 1/100 1.1000 - 1 1/9 - 1 1/10 - 1 1/10 - 1 - 1 - 1 1/8 - 1 1/8 - 1 1/10 + 1 1/9 + 1 1/10 + 1 1/10 + 1 + 1 + 1 1/8 + 1 1/8 + 1 1/10 1.2500 - 1 1/4 - 1 1/4 - 1 1/4 - 1 1/2 - 1 1/4 - 1 1/4 - 1 1/4 - 1 1/4 + 1 1/4 + 1 1/4 + 1 1/4 + 1 1/2 + 1 1/4 + 1 1/4 + 1 1/4 + 1 1/4 1.4000 - 1 2/5 - 1 2/5 - 1 2/5 - 1 1/2 - 1 1/2 - 1 3/8 - 1 3/8 - 1 2/5 + 1 2/5 + 1 2/5 + 1 2/5 + 1 1/2 + 1 1/2 + 1 3/8 + 1 3/8 + 1 2/5 1.5000 - 1 1/2 - 1 1/2 - 1 1/2 - 1 1/2 - 1 1/2 - 1 1/2 - 1 1/2 - 1 1/2 + 1 1/2 + 1 1/2 + 1 1/2 + 1 1/2 + 1 1/2 + 1 1/2 + 1 1/2 + 1 1/2 1.6000 - 1 3/5 - 1 3/5 - 1 3/5 - 1 1/2 - 1 1/2 - 1 5/8 - 1 5/8 - 1 3/5 + 1 3/5 + 1 3/5 + 1 3/5 + 1 1/2 + 1 1/2 + 1 5/8 + 1 5/8 + 1 3/5 1.7500 - 1 3/4 - 1 3/4 - 1 3/4 - 2 - 1 3/4 - 1 3/4 - 1 3/4 - 1 3/4 + 1 3/4 + 1 3/4 + 1 3/4 + 2 + 1 3/4 + 1 3/4 + 1 3/4 + 1 3/4 1.9000 - 1 8/9 - 1 9/10 - 1 9/10 - 2 - 2 - 1 7/8 - 1 7/8 - 1 9/10 + 1 8/9 + 1 9/10 + 1 9/10 + 2 + 2 + 1 7/8 + 1 7/8 + 1 9/10 1.9900 - 2 - 1 98/99 - 1 99/100 - 2 - 2 - 2 - 2 - 1 99/100 + 2 + 1 98/99 + 1 99/100 + 2 + 2 + 2 + 2 + 1 99/100 1.9990 - 2 - 2 - 1 998/999 - 2 - 2 - 2 - 2 - 2 + 2 + 2 + 1 998/999 + 2 + 2 + 2 + 2 + 2 1.9999 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 - -1 to -2 + -1 to -2 -1.0001 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 -1.0010 - −1 - −1 - −1 1/999 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 1/999 + −1 + −1 + −1 + −1 + −1 -1.0100 - −1 - −1 1/99 - −1 1/100 - −1 - −1 - −1 - −1 - −1 1/100 + −1 + −1 1/99 + −1 1/100 + −1 + −1 + −1 + −1 + −1 1/100 -1.1000 - −1 1/9 - −1 1/10 - −1 1/10 - −1 - −1 - −1 1/8 - −1 1/8 - −1 1/10 + −1 1/9 + −1 1/10 + −1 1/10 + −1 + −1 + −1 1/8 + −1 1/8 + −1 1/10 -1.2500 - −1 1/4 - −1 1/4 - −1 1/4 - −1 1/2 - −1 1/4 - −1 1/4 - −1 1/4 - −1 1/4 + −1 1/4 + −1 1/4 + −1 1/4 + −1 1/2 + −1 1/4 + −1 1/4 + −1 1/4 + −1 1/4 -1.4000 - −1 2/5 - −1 2/5 - −1 2/5 - −1 1/2 - −1 1/2 - −1 3/8 - −1 3/8 - −1 2/5 + −1 2/5 + −1 2/5 + −1 2/5 + −1 1/2 + −1 1/2 + −1 3/8 + −1 3/8 + −1 2/5 -1.5000 - −1 1/2 - −1 1/2 - −1 1/2 - −1 1/2 - −1 1/2 - −1 1/2 - −1 1/2 - −1 1/2 + −1 1/2 + −1 1/2 + −1 1/2 + −1 1/2 + −1 1/2 + −1 1/2 + −1 1/2 + −1 1/2 -1.6000 - −1 3/5 - −1 3/5 - −1 3/5 - −1 1/2 - −1 1/2 - −1 5/8 - −1 5/8 - −1 3/5 + −1 3/5 + −1 3/5 + −1 3/5 + −1 1/2 + −1 1/2 + −1 5/8 + −1 5/8 + −1 3/5 -1.7500 - −1 3/4 - −1 3/4 - −1 3/4 - −2 - −1 3/4 - −1 3/4 - −1 3/4 - −1 3/4 + −1 3/4 + −1 3/4 + −1 3/4 + −2 + −1 3/4 + −1 3/4 + −1 3/4 + −1 3/4 -1.9000 - −1 8/9 - −1 9/10 - −1 9/10 - −2 - −2 - −1 7/8 - −1 7/8 - −1 9/10 + −1 8/9 + −1 9/10 + −1 9/10 + −2 + −2 + −1 7/8 + −1 7/8 + −1 9/10 -1.9900 - −2 - −1 98/99 - −1 99/100 - −2 - −2 - −2 - −2 - −1 99/100 + −2 + −1 98/99 + −1 99/100 + −2 + −2 + −2 + −2 + −1 99/100 -1.9990 - −2 - −2 - −1 998/999 - −2 - −2 - −2 - −2 - −2 + −2 + −2 + −1 998/999 + −2 + −2 + −2 + −2 + −2 -1.9999 - −2 - −2 - −2 - −2 - −2 - −2 - −2 - −2 + −2 + −2 + −2 + −2 + −2 + −2 + −2 + −2 - Exact Numbers + Exact Numbers -1.0000 - −1 - −1 - −1 - −1 - −1 - −1 - −1 - −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 + −1 0.0000 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 1.0000 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 - Not Numbers + Not Numbers NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA NaN - NaN - NaN - NaN - NaN - NaN - NaN - NaN - NaN + NaN + NaN + NaN + NaN + NaN + NaN + NaN + NaN Inf - Inf - Inf - Inf - Inf - Inf - Inf - Inf - Inf + Inf + Inf + Inf + Inf + Inf + Inf + Inf + Inf -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf - -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf + -Inf diff --git a/tests/testthat/_snaps/group_column_label.md b/tests/testthat/_snaps/group_column_label.md index 80381891f..93f585b53 100644 --- a/tests/testthat/_snaps/group_column_label.md +++ b/tests/testthat/_snaps/group_column_label.md @@ -951,73 +951,73 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 @@ -1390,72 +1390,72 @@ - grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 - grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + grp_a + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 + grp_b + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 @@ -3204,7 +3204,7 @@ - grp_a + grp_a row_1 1.111e-01 apricot @@ -3213,31 +3213,31 @@ 13:35 2018-01-01 02:22 49.950 - row_2 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_3 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_4 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - grp_b + row_2 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_3 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_4 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + grp_b row_5 5.550e+03 NA @@ -3246,30 +3246,30 @@ 17:55 2018-05-05 04:00 1325.810 - row_6 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_7 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_8 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 + row_6 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_7 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_8 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 @@ -5760,39 +5760,39 @@ - grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + grp_a + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 min 0.11 — @@ -5820,39 +5820,39 @@ — 16292.32 — - grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + grp_b + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 min 5550.00 — @@ -8498,7 +8498,7 @@ - grp_a + grp_a row_1 1.111e-01 apricot @@ -8507,30 +8507,30 @@ 13:35 2018-01-01 02:22 49.950 - row_2 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_3 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_4 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 + row_2 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_3 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_4 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 min 0.11 — @@ -8555,7 +8555,7 @@ — — 16292.32 - grp_b + grp_b row_5 5.550e+03 NA @@ -8564,30 +8564,30 @@ 17:55 2018-05-05 04:00 1325.810 - row_6 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_7 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_8 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 + row_6 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_7 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_8 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 min 5550.00 — @@ -9535,73 +9535,73 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 @@ -9645,72 +9645,72 @@ - grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 - grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + grp_a + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 + grp_b + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 @@ -10095,7 +10095,7 @@ - grp_a + grp_a row_1 1.111e-01 apricot @@ -10104,31 +10104,31 @@ 13:35 2018-01-01 02:22 49.950 - row_2 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_3 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_4 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - grp_b + row_2 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_3 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_4 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + grp_b row_5 5.550e+03 NA @@ -10137,30 +10137,30 @@ 17:55 2018-05-05 04:00 1325.810 - row_6 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_7 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_8 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 + row_6 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_7 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_8 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 @@ -10714,39 +10714,39 @@ - grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + grp_a + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 min 0.11 — @@ -10774,39 +10774,39 @@ — 16292.32 — - grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + grp_b + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 min 5550.00 — @@ -11371,7 +11371,7 @@ - grp_a + grp_a row_1 1.111e-01 apricot @@ -11380,30 +11380,30 @@ 13:35 2018-01-01 02:22 49.950 - row_2 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_3 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_4 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 + row_2 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_3 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_4 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 min 0.11 — @@ -11428,7 +11428,7 @@ — — 16292.32 - grp_b + grp_b row_5 5.550e+03 NA @@ -11437,30 +11437,30 @@ 17:55 2018-05-05 04:00 1325.810 - row_6 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_7 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_8 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 + row_6 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_7 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_8 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 min 5550.00 — diff --git a/tests/testthat/_snaps/removal_functions.md b/tests/testthat/_snaps/removal_functions.md index 5fdde4bca..5df90ef55 100644 --- a/tests/testthat/_snaps/removal_functions.md +++ b/tests/testthat/_snaps/removal_functions.md @@ -8,7 +8,7 @@ - +
Grand Spanner
@@ -20,7 +20,7 @@
Words
- +
Date and Time
@@ -167,7 +167,7 @@ - +
Grand Spanner
@@ -179,7 +179,7 @@
Words
- +
Date and Time
@@ -465,7 +465,7 @@ - +
Grand Spanner
@@ -621,7 +621,7 @@ - +
Grand Spanner
@@ -631,7 +631,7 @@
Words
- +
Date and Time
currency @@ -774,7 +774,7 @@ - +
Grand Spanner
@@ -785,7 +785,7 @@ char fctr - +
Date and Time
@@ -936,7 +936,7 @@
Words
- +
Date and Time
@@ -1083,7 +1083,7 @@ A Stubhead Label - +
Grand Spanner
@@ -1227,7 +1227,7 @@ A Stubhead Label - +
Grand Spanner
@@ -1377,7 +1377,7 @@
Words
- +
Date and Time
@@ -1663,7 +1663,7 @@ - +
Grand Spanner
@@ -1675,7 +1675,7 @@
Words
- +
Date and Time
@@ -1815,7 +1815,7 @@ - +
Grand Spanner
@@ -1827,7 +1827,7 @@
Words
- +
Date and Time
@@ -1971,7 +1971,7 @@ - +
Grand Spanner
@@ -1983,7 +1983,7 @@
Words
- +
Date and Time
@@ -2127,7 +2127,7 @@ - +
Grand Spanner
@@ -2139,7 +2139,7 @@
Words
- +
Date and Time
@@ -2279,7 +2279,7 @@ - +
Grand Spanner
@@ -2291,7 +2291,7 @@
Words
- +
Date and Time
@@ -2431,7 +2431,7 @@ - +
Grand Spanner
@@ -2443,7 +2443,7 @@
Words
- +
Date and Time
@@ -2587,7 +2587,7 @@ - +
Grand Spanner
@@ -2599,7 +2599,7 @@
Words
- +
Date and Time
@@ -2743,7 +2743,7 @@ - +
Grand Spanner
@@ -2755,7 +2755,7 @@
Words
- +
Date and Time
@@ -2894,7 +2894,7 @@ - +
Grand Spanner
@@ -2906,7 +2906,7 @@
Words
- +
Date and Time
diff --git a/tests/testthat/_snaps/rows_add.md b/tests/testthat/_snaps/rows_add.md index 45c6d608d..021003a41 100644 --- a/tests/testthat/_snaps/rows_add.md +++ b/tests/testthat/_snaps/rows_add.md @@ -13515,84 +13515,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -13620,84 +13620,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -13725,84 +13725,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -13830,84 +13830,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -13935,84 +13935,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14040,84 +14040,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14145,84 +14145,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14250,84 +14250,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14355,84 +14355,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14460,84 +14460,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14565,84 +14565,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14670,84 +14670,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14775,84 +14775,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14880,84 +14880,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -14985,84 +14985,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15090,84 +15090,84 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15195,92 +15195,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15308,92 +15308,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15421,92 +15421,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15534,92 +15534,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15647,92 +15647,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15760,92 +15760,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15873,92 +15873,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -15986,92 +15986,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -16099,92 +16099,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -16212,92 +16212,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -16325,92 +16325,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -16438,92 +16438,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -16551,92 +16551,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -16664,92 +16664,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -16777,92 +16777,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA @@ -16890,92 +16890,92 @@ grp_a - 1.111e-01 - apricot - one - 2015-01-15 - 13:35 - 2018-01-01 02:22 - 49.950 - row_1 - 2.222e+00 - banana - two - 2015-02-15 - 14:40 - 2018-02-02 14:33 - 17.950 - row_2 - 3.333e+01 - coconut - three - 2015-03-15 - 15:45 - 2018-03-03 03:44 - 1.390 - row_3 - 4.444e+02 - durian - four - 2015-04-15 - 16:50 - 2018-04-04 15:55 - 65100.000 - row_4 + 1.111e-01 + apricot + one + 2015-01-15 + 13:35 + 2018-01-01 02:22 + 49.950 + row_1 + 2.222e+00 + banana + two + 2015-02-15 + 14:40 + 2018-02-02 14:33 + 17.950 + row_2 + 3.333e+01 + coconut + three + 2015-03-15 + 15:45 + 2018-03-03 03:44 + 1.390 + row_3 + 4.444e+02 + durian + four + 2015-04-15 + 16:50 + 2018-04-04 15:55 + 65100.000 + row_4 grp_b - 5.550e+03 - NA - five - 2015-05-15 - 17:55 - 2018-05-05 04:00 - 1325.810 - row_5 - NA - fig - six - 2015-06-15 - NA - 2018-06-06 16:11 - 13.255 - row_6 - 7.770e+05 - grapefruit - seven - NA - 19:10 - 2018-07-07 05:22 - NA - row_7 - 8.880e+06 - honeydew - eight - 2015-08-15 - 20:20 - NA - 0.440 - row_8 + 5.550e+03 + NA + five + 2015-05-15 + 17:55 + 2018-05-05 04:00 + 1325.810 + row_5 + NA + fig + six + 2015-06-15 + NA + 2018-06-06 16:11 + 13.255 + row_6 + 7.770e+05 + grapefruit + seven + NA + 19:10 + 2018-07-07 05:22 + NA + row_7 + 8.880e+06 + honeydew + eight + 2015-08-15 + 20:20 + NA + 0.440 + row_8 - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA - NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA + NA diff --git a/tests/testthat/_snaps/summary_rows.md b/tests/testthat/_snaps/summary_rows.md index 4d11054a8..b3370a815 100644 --- a/tests/testthat/_snaps/summary_rows.md +++ b/tests/testthat/_snaps/summary_rows.md @@ -536,52 +536,52 @@ 2054.44 2017.34 2020.58 - 2015-01-06 - 2022.15 - 2030.25 - 1992.44 - 2002.61 - 2015-01-07 - 2005.55 - 2029.61 - 2005.55 - 2025.90 - 2015-01-08 - 2030.61 - 2064.08 - 2030.61 - 2062.14 - 2015-01-09 - 2063.45 - 2064.43 - 2038.33 - 2044.81 - W03 + 2015-01-06 + 2022.15 + 2030.25 + 1992.44 + 2002.61 + 2015-01-07 + 2005.55 + 2029.61 + 2005.55 + 2025.90 + 2015-01-08 + 2030.61 + 2064.08 + 2030.61 + 2062.14 + 2015-01-09 + 2063.45 + 2064.43 + 2038.33 + 2044.81 + W03 2015-01-12 2046.13 2049.30 2022.58 2028.26 - 2015-01-13 - 2031.58 - 2056.93 - 2008.25 - 2023.03 - 2015-01-14 - 2018.40 - 2018.40 - 1988.44 - 2011.27 - 2015-01-15 - 2013.75 - 2021.35 - 1991.47 - 1992.67 - 2015-01-16 - 1992.25 - 2020.46 - 1988.12 - 2019.42 + 2015-01-13 + 2031.58 + 2056.93 + 2008.25 + 2023.03 + 2015-01-14 + 2018.40 + 2018.40 + 1988.44 + 2011.27 + 2015-01-15 + 2013.75 + 2021.35 + 1991.47 + 1992.67 + 2015-01-16 + 1992.25 + 2020.46 + 1988.12 + 2019.42 @@ -744,52 +744,52 @@ 2054.44 2017.34 2020.58 - 2015-01-06 - 2022.15 - 2030.25 - 1992.44 - 2002.61 - 2015-01-07 - 2005.55 - 2029.61 - 2005.55 - 2025.90 - 2015-01-08 - 2030.61 - 2064.08 - 2030.61 - 2062.14 - 2015-01-09 - 2063.45 - 2064.43 - 2038.33 - 2044.81 - W03 + 2015-01-06 + 2022.15 + 2030.25 + 1992.44 + 2002.61 + 2015-01-07 + 2005.55 + 2029.61 + 2005.55 + 2025.90 + 2015-01-08 + 2030.61 + 2064.08 + 2030.61 + 2062.14 + 2015-01-09 + 2063.45 + 2064.43 + 2038.33 + 2044.81 + W03 2015-01-12 2046.13 2049.30 2022.58 2028.26 - 2015-01-13 - 2031.58 - 2056.93 - 2008.25 - 2023.03 - 2015-01-14 - 2018.40 - 2018.40 - 1988.44 - 2011.27 - 2015-01-15 - 2013.75 - 2021.35 - 1991.47 - 1992.67 - 2015-01-16 - 1992.25 - 2020.46 - 1988.12 - 2019.42 + 2015-01-13 + 2031.58 + 2056.93 + 2008.25 + 2023.03 + 2015-01-14 + 2018.40 + 2018.40 + 1988.44 + 2011.27 + 2015-01-15 + 2013.75 + 2021.35 + 1991.47 + 1992.67 + 2015-01-16 + 1992.25 + 2020.46 + 1988.12 + 2019.42 min 1992.25 2018.40 @@ -947,58 +947,58 @@ 2040.92 2008.31 2023.07 - W02 + W02 2015-01-05 2054.44 2054.44 2017.34 2020.58 - 2015-01-06 - 2022.15 - 2030.25 - 1992.44 - 2002.61 - 2015-01-07 - 2005.55 - 2029.61 - 2005.55 - 2025.90 - 2015-01-08 - 2030.61 - 2064.08 - 2030.61 - 2062.14 - 2015-01-09 - 2063.45 - 2064.43 - 2038.33 - 2044.81 - W03 + 2015-01-06 + 2022.15 + 2030.25 + 1992.44 + 2002.61 + 2015-01-07 + 2005.55 + 2029.61 + 2005.55 + 2025.90 + 2015-01-08 + 2030.61 + 2064.08 + 2030.61 + 2062.14 + 2015-01-09 + 2063.45 + 2064.43 + 2038.33 + 2044.81 + W03 2015-01-12 2046.13 2049.30 2022.58 2028.26 - 2015-01-13 - 2031.58 - 2056.93 - 2008.25 - 2023.03 - 2015-01-14 - 2018.40 - 2018.40 - 1988.44 - 2011.27 - 2015-01-15 - 2013.75 - 2021.35 - 1991.47 - 1992.67 - 2015-01-16 - 1992.25 - 2020.46 - 1988.12 - 2019.42 + 2015-01-13 + 2031.58 + 2056.93 + 2008.25 + 2023.03 + 2015-01-14 + 2018.40 + 2018.40 + 1988.44 + 2011.27 + 2015-01-15 + 2013.75 + 2021.35 + 1991.47 + 1992.67 + 2015-01-16 + 1992.25 + 2020.46 + 1988.12 + 2019.42 @@ -10192,32 +10192,32 @@ - 1960s + 1960s 1960 - 93,216,000 + 93,216,000 1961 - 94,055,000 + 94,055,000 1962 - 94,933,000 + 94,933,000 1963 - 95,900,000 + 95,900,000 1964 - 96,903,000 + 96,903,000 1965 - 97,952,000 + 97,952,000 1966 - 98,851,000 + 98,851,000 1967 - 99,879,000 + 99,879,000 1968 - 101,011,000 + 101,011,000 1969 - 102,219,000 + 102,219,000 min - 93,216,000 + 93,216,000 max - 102,219,000 + 102,219,000 @@ -10432,26 +10432,26 @@ 454 406 - Aston Martin + Aston Martin DB11 - 608 - 516 + 608 + 516 Rapide S - 552 - 465 + 552 + 465 Vanquish - 568 - 465 + 568 + 465 Vantage - 430 - 361 - Minimum - 430 - 361 - Maximum - 608 - 516 + 430 + 361 + Minimum + 430 + 361 + Maximum + 608 + 516 Minimum 345 361 diff --git a/tests/testthat/_snaps/tab_footnote.md b/tests/testthat/_snaps/tab_footnote.md index ea5eb083e..0c6509116 100644 --- a/tests/testthat/_snaps/tab_footnote.md +++ b/tests/testthat/_snaps/tab_footnote.md @@ -616,24 +616,24 @@ - peppr_salami1 + peppr_salami1 L - 696 - M - 428 - S - 322 + 696 + M + 428 + S + 322 sum - 1,446 - soppressata + 1,446 + soppressata L - 405 - M - 268 - S - 288 + 405 + M + 268 + S + 288 sum - 961 + 961 diff --git a/tests/testthat/_snaps/tab_spanner_delim.md b/tests/testthat/_snaps/tab_spanner_delim.md index d56e214c4..b64cfa92c 100644 --- a/tests/testthat/_snaps/tab_spanner_delim.md +++ b/tests/testthat/_snaps/tab_spanner_delim.md @@ -722,7 +722,7 @@ - @@ -768,7 +768,7 @@
+
ALL ABOVE
- @@ -816,7 +816,7 @@
+
ALL ABOVE
- @@ -867,7 +867,7 @@
+
ALL ABOVE
- @@ -918,12 +918,12 @@
+
REPLACED
- - @@ -1076,7 +1076,7 @@
+
Above It All
+
REPLACED
- - - - - @@ -1215,7 +1215,7 @@ - @@ -1815,11 +1815,11 @@ - - - - - + + + + + diff --git a/tests/testthat/_snaps/tab_stub_indent.md b/tests/testthat/_snaps/tab_stub_indent.md index dfc6b3e76..b8c7e40f8 100644 --- a/tests/testthat/_snaps/tab_stub_indent.md +++ b/tests/testthat/_snaps/tab_stub_indent.md @@ -18,7 +18,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -149,7 +149,7 @@ - + @@ -158,7 +158,7 @@ - + @@ -221,31 +221,31 @@ - + - + - + - + - + - + - + @@ -283,34 +283,34 @@ - + - + - + - + - + - + - + @@ -348,38 +348,38 @@ - + - + - + - + - + - + - + - + @@ -413,38 +413,38 @@ - + - + - + - + - + - + - + - + @@ -478,15 +478,15 @@ - + - + - + @@ -509,7 +509,7 @@ - + @@ -540,31 +540,31 @@ - + - + - + - + - + - + - + diff --git a/tests/testthat/helper.R b/tests/testthat/helper.R index bad9c1e0d..206f4c39d 100644 --- a/tests/testthat/helper.R +++ b/tests/testthat/helper.R @@ -55,8 +55,12 @@ expect_match_html <- function(object, ..., all = TRUE, info = NULL, - label = NULL) { + label = NULL, + ignore_id = TRUE) { rendered <- f(object) + if (ignore_id) { + rendered <- remove_id_prefixes(rendered) + } for (i in seq_along(regexp)) { testthat::expect_match( object = rendered, @@ -154,8 +158,8 @@ expect_equal_gt <- function(gt_tbl1, gt_tbl2, f = render_as_html, ignore_id = FA gt_tbl1 <- f(gt_tbl1) gt_tbl2 <- f(gt_tbl2) if (ignore_id) { - gt_tbl1 <- gsub("id=\"[a-z]*?\"", "", gt_tbl1) - gt_tbl2 <- gsub("id=\"[a-z]*?\"", "", gt_tbl2) + gt_tbl1 <- remove_id_prefixes(gt_tbl1) + gt_tbl2 <- remove_id_prefixes(gt_tbl2) } expect_equal( gt_tbl1, @@ -218,3 +222,19 @@ mtcars_short <- datasets::mtcars[1:5, ] # Create a shortened version of `iris` iris_short <- datasets::iris[1:5, ] + + +# Remove id prefixes from html output for testing +remove_id_prefixes <- function(lines) { + if (length(lines) > 1) { + lines <- paste0(lines, collapse = "\n") + } + .id <- regmatches(lines, regexpr("(?<=div id=\")[^\"]+", lines, perl = TRUE)) + if (length(.id) > 0) { + lines <- gsub(paste0(.id, "-"), "", lines, fixed = TRUE) + lines <- gsub(.id, "", lines, fixed = TRUE) + } + lines +} + + diff --git a/tests/testthat/test-as_raw_html.R b/tests/testthat/test-as_raw_html.R index 841cff2b3..c37441e2f 100644 --- a/tests/testthat/test-as_raw_html.R +++ b/tests/testthat/test-as_raw_html.R @@ -1,12 +1,12 @@ test_that("as_raw_html() produces the same table every time", { gt_html_1 <- - gt(exibble) %>% + gt(exibble, id = "abcde") %>% as_raw_html(inline_css = TRUE) %>% gsub("id=\"[a-z]*?\"", "", .) gt_html_1_sha1 <- rlang::hash(gt_html_1) - expect_equal(gt_html_1_sha1, "16df73c70893c91ae52142554f11f0ca") + expect_equal(gt_html_1_sha1, "2b6fe8d9582c9d52eb00e664e37d8eab") gt_html_2 <- gt( @@ -112,10 +112,10 @@ test_that("as_raw_html() produces the same table every time", { ) ) %>% as_raw_html(inline_css = TRUE) %>% - gsub("id=\"[a-z]*?\"", "", .) + remove_id_prefixes() gt_html_2_sha1 <- rlang::hash(gt_html_2) - expect_equal(gt_html_2_sha1, "7542d1ad7e914ab554149fdca980eec5") + expect_equal(gt_html_2_sha1, "5da02643b8f0b017c1e210461ad95127") # Expect that font family values with multiple words (i.e., have a space # character) added with `tab_style()` preserve single-quote characters diff --git a/tests/testthat/test-gtsave.R b/tests/testthat/test-gtsave.R index 6a7dbdb25..9753e6d6c 100644 --- a/tests/testthat/test-gtsave.R +++ b/tests/testthat/test-gtsave.R @@ -68,8 +68,8 @@ test_that("gtsave() creates an HTML file based on the extension", { skip_on_cran() # Expect lines_html_inline_css1 and 2 to be the same (if we exclude id) expect_equal( - sub("id=\"\\S+\" ", "", lines_html_inline_css1), - sub("id=\"\\S+\" ", "", lines_html_inline_css2) + lines_html_inline_css1 %>% remove_id_prefixes(), + lines_html_inline_css2 %>% remove_id_prefixes() ) }) diff --git a/tests/testthat/test-summary_rows.R b/tests/testthat/test-summary_rows.R index abf98d0a1..26ce7c1c9 100644 --- a/tests/testthat/test-summary_rows.R +++ b/tests/testthat/test-summary_rows.R @@ -841,7 +841,7 @@ test_that("Summary rows can be created when there is no stub", { # Expect that the grand summary row labels are # available in the rendered output table - raw_gt <- as_raw_html(gt_tbl, inline_css = FALSE) + raw_gt <- as_raw_html(gt_tbl, inline_css = FALSE) %>% remove_id_prefixes() expect_match(raw_gt, "") expect_match(raw_gt, "") expect_match(raw_gt, "") @@ -945,7 +945,8 @@ test_that("Summary row labels are added in narrow and wide tables", { # both tables have `"the_sum"` and `"mean"` expect_match( narrow_gt_tbl %>% - as_raw_html(inline_css = FALSE), + as_raw_html(inline_css = FALSE) %>% + remove_id_prefixes(), paste0( ".*?", ".*?", @@ -956,7 +957,8 @@ test_that("Summary row labels are added in narrow and wide tables", { expect_match( wide_gt_tbl %>% - as_raw_html(inline_css = FALSE), + as_raw_html(inline_css = FALSE) %>% + remove_id_prefixes(), paste0( ".*?", ".*?", diff --git a/tests/testthat/test-table_id.R b/tests/testthat/test-table_id.R new file mode 100644 index 000000000..bb296fabe --- /dev/null +++ b/tests/testthat/test-table_id.R @@ -0,0 +1,109 @@ +test_that("Table ID is used as prefix for element IDs", { + # Create a table with a specified ID + tbl <- exibble %>% + gt(rowname_col = "row", id = "test-table") %>% + tab_spanner(label = "Spanner", columns = c(datetime, date, time)) %>% + tab_footnote(footnote = "A footnote", locations = cells_body(columns = num, rows = 1)) + + # Generate HTML + html_str <- as.character(as.tags(tbl)) + + # Test that the table's div has the correct ID + expect_true(grepl('id="test-table"', html_str, fixed = TRUE)) + + # Test that element IDs use the table ID as prefix + expect_true(grepl('id="test-table-', html_str, fixed = TRUE)) + + # Test that column headers have the prefixed IDs + expect_true(grepl('id="test-table-num"', html_str, fixed = TRUE)) + + # Test that spanner has the prefixed ID + expect_true(grepl('id="test-table-Spanner"', html_str, fixed = TRUE)) +}) + +test_that("All IDs in headers exist", { + tbl <- exibble %>% + gt(id = "test-table") + + html_str <- as.character(render_as_html(tbl)) + + .nodes <- xml2::read_html(html_str) + + ids <- .nodes %>% + xml_find_all(".//*[@id]") %>% + xml_attr("id") + + all_headers_attrs <- .nodes %>% + xml_find_all("//*[@headers]") %>% + xml_attr("headers") %>% + strsplit(" +") %>% + unlist() %>% + unique() + + expect_true(all(all_headers_attrs %in% ids)) +}) + +test_that("Random IDs are consistently applied within a table", { + # Create a table without specifying an ID + tbl <- exibble %>% + gt(rowname_col = "row") %>% + tab_spanner(label = "Group", columns = c(datetime, date, time)) + + # Render table to HTML + html_str <- as.character(as.tags(tbl)) + + # Extract the auto-generated ID from the outer div + auto_id <- regmatches(html_str, regexpr('id="[^"]*"', html_str)) + auto_id <- sub('id="', '', sub('"$', '', auto_id)) + + # Test that the auto_id is not empty + expect_false(auto_id == "") + + # Test that element IDs within the table use the auto-generated ID as prefix + expect_true(grepl(paste0('id="', auto_id, '-'), html_str, fixed = TRUE)) + + # Test that the auto-generated ID is used for the spanner + expect_true(grepl(paste0('id="', auto_id, '-Group"'), html_str, fixed = TRUE)) + + # Test that one of the column IDs uses the auto-generated ID prefix + expect_true(grepl(paste0('id="', auto_id, '-num"'), html_str, fixed = TRUE)) + + # Ensure that multiple renderings of the same table produce the same prefix for stability + html_str2 <- as.character(as.tags(tbl)) + auto_id2 <- regmatches(html_str2, regexpr('id="[^"]*"', html_str2)) + auto_id2 <- sub('id="', '', sub('"$', '', auto_id2)) + + # The IDs should be different between renderings since they're randomly generated each time + expect_false(auto_id == auto_id2) + + # But both renderings should have consistent internal prefixing + expect_true(grepl(paste0('id="', auto_id2, '-Group"'), html_str2, fixed = TRUE)) +}) + +test_that("Multiple tables have unique element IDs", { + # Create two tables with the same structure but different IDs + tbl1 <- exibble %>% + gt(rowname_col = "row", id = "table1") %>% + tab_spanner(label = "Group", columns = c(datetime, date, time)) + + tbl2 <- exibble %>% + gt(rowname_col = "row", id = "table2") %>% + tab_spanner(label = "Group", columns = c(datetime, date, time)) + + # Generate HTML for both tables + html_str1 <- as.character(as.tags(tbl1)) + html_str2 <- as.character(as.tags(tbl2)) + + # Test that each table uses its own ID as a prefix + expect_true(grepl('id="table1-Group"', html_str1, fixed = TRUE)) + expect_true(grepl('id="table2-Group"', html_str2, fixed = TRUE)) + + # This ensures that if multiple tables are on the same page, they won't have ID conflicts + expect_false(grepl('id="table1-Group"', html_str2, fixed = TRUE)) + expect_false(grepl('id="table2-Group"', html_str1, fixed = TRUE)) + + # Ensure no duplicate IDs + ids1 <- regmatches(html_str1, regexpr('id="[^"]*"', html_str1)) + ids2 <- regmatches(html_str2, regexpr('id="[^"]*"', html_str2)) + expect_false(any(duplicated(c(ids1, ids2)))) +})
+
Cut In
@@ -1137,13 +1137,13 @@
+
Cut Across
+
Cut In
@@ -1203,11 +1203,11 @@
+
Cut Across
+
Cut Across
Data
+
Cut In
12345
12345
row_1
row_1 1.111e-01 apricot one2018-01-01 02:22 49.950 grp_a
row_2
row_2 2.222e+00 banana two2018-02-02 14:33 17.950 grp_a
row_3
row_3 3.333e+01 coconut three2018-02-02 14:33 17.950 grp_a
row_3
row_3 3.333e+01 coconut three2018-03-03 03:44 1.390 grp_a
row_4
row_4 4.444e+02 durian four2018-04-04 15:55 65100.000 grp_a
row_5
row_5 5.550e+03 NA five
durian
durian four 65100.000 1
NA
NA five 1325.810 2
apricot
apricot one 49.950 3
banana
banana two 17.950 4
fig
fig six 13.255 5
coconut
coconut three 1.390 6
honeydew
honeydew eight 0.440 7
grp_a
durian
durian four 65100.000 1
apricot
apricot one 49.950 3
banana
banana two 17.950 4
coconut
coconut three 1.390 6
grp_b
NA
NA five 1325.810 2
fig
fig six 13.255 5
honeydew
honeydew eight 0.440 7
grp_a
durian
durian four 65100.000 1
apricot
apricot one 49.950 3
banana
banana two 17.950 4
coconut
coconut three 1.390 6
grp_b
NA
NA five 1325.810 2
fig
fig six 13.255 5
honeydew
honeydew eight 0.440 7
grapefruit
grapefruit seven NA NA
grp_a
durian
durian four 65100.000 1
apricot
apricot one 49.950 3
banana
banana two 17.950 4
coconut
coconut three 1.390 6
grp_b
NA
NA five 1325.810 2
fig
fig six 13.255 5
honeydew
honeydew eight 0.440 7
grapefruit
grapefruit seven NA NA
grp_a
durian
durian four 65100.000 1
apricot
apricot one 49.950 3
banana
banana two 17.950 4
eight 0.440 7
grapefruit
grapefruit seven NA NA
durian
durian four 65100.000 1.7
NA
NA five 1325.810 2.7
apricot
apricot one 49.950 3.7
banana
banana two 17.950 4.7
fig
fig six 13.255 5.7
coconut
coconut three 1.390 6.7
honeydew
honeydew eight 0.440 7.7
averagetotalstd devthe_summeanthe_summean