Округленные значения во фрейме данных, разделенные запятой в R

У меня есть фрейм данных, который имеет значения, разделенные запятой или пробелом. Как округлить эти значения?

Фрейм данных выглядит следующим образом:

test_type      test_runs       test_values
a              2               0.522,0.433
b              3               1.233,1.455,1.344

Я хочу округлить значения, вывести столбец без списка и распечатать фрейм данных с фиксированным количеством цифр, используя gridextra.

library(dplyr)
data <- data.frame(test_type = c("a","a","b","b","b"),
                   test_values = c(0.522,0.433,1.233,1.455,1.344)) %>%
  group_by(test_type) %>%
  summarise(test_runs=n(), test_values=paste(test_values, collapse=","))

round_data <- round(data, digits=2)

1 ответ

Решение от tidyverse, dt2 это окончательный результат.

# Create example data frame
dt <- read.table(text = "test_type      test_runs       test_values
                 a              2               0.522,0.433
                 b              3               1.233,1.455,1.344",
                 header = TRUE, stringsAsFactors = FALSE)

# Load package
library(tidyverse)

# Process the data
dt2 <- dt %>%
  mutate(test_values = strsplit(test_values, split = ",")) %>%
  mutate(test_values = map(test_values, as.numeric)) %>%
  mutate(test_values = map(test_values, formatC, format = "f", digits = 2)) %>%
  mutate(test_values = map_chr(test_values, paste, collapse = ","))
Другие вопросы по тегам