Округленные значения во фрейме данных, разделенные запятой в 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 = ","))