【发布时间】:2022-01-05 11:48:14
【问题描述】:
对于数据框,我想将每列的数据类(例如 char、double、factor)保存到 csv,然后能够将数据和类读回 R。
例如,我的数据可能如下所示:
df
#> # A tibble: 3 × 3
#> item cost blue
#> <int> <int> <fct>
#> 1 1 4 1
#> 2 2 10 1
#> 3 3 3 0
(此处输入数据的代码:)
library(tidyverse)
df <- tibble::tribble(
~item, ~cost, ~blue,
1L, 4L, 1L,
2L, 10L, 1L,
3L, 3L, 0L
)
df <- df %>%
mutate(blue = as.factor(blue))
df
我可以通过这种方式保存数据的类和数据:
library(tidyverse)
classes <- map_df(df, class)
write_csv(classes, "classes.csv")
write_csv(df, "data.csv")
我可以这样读:
classes <- read.csv("classes.csv") %>%
slice(1) %>%
unlist()
classes
df2 <- read_csv("data.csv", col_types = classes)
df2
有没有更快的方法来完成这一切?
尤其是我保存 classes 然后读回它,然后切片和取消列出的方式?
【问题讨论】: