Fan, Y., Min, Z., Alsolami, S., Ma, Z., Zhang, E., Chen, W., Zhong, K., Pei, W., Kang, X., Zhang, P., et al. (2021). Generation of human blastocyst-like structures from pluripotent stem cells. Cell Discovery 7, 1–14.
- BioProject Accession: PRJNA667174
- GEO Accession: GSE158971
Load required packages.
library(tidyverse)
library(Matrix)
library(patchwork)
library(extrafont)
# library(magrittr)
## [1] "2021-09-11 13:52:01 CDT"
Data preparation
Functions loading
source(
file = file.path(
SCRIPT_DIR,
"utilities.R"
)
)
Data loading
PROJECT_DIR <- "/Users/jialei/Dropbox/Data/Projects/UTSW/Peri-implantation"
Matrix
ad <- reticulate::import(module = "anndata", convert = TRUE)
print(ad$`__version__`)
## [1] "0.7.5"
BACKED <- NULL
adata <- ad$read_h5ad(
filename = file.path(
PROJECT_DIR,
"raw/public/PRJNA667174",
"matrix",
"adata.h5ad"
),
backed = BACKED
)
matrix_readcount_use <- adata |> convert_adata()
matrix_readcount_use |> dim()
## [1] 33538 30439
Embedding
EMBEDDING_FILE <- "embedding_ncomponents10_ccc1_seed20210719.csv.gz"
embedding <- vroom::vroom(
file = file.path(
PROJECT_DIR,
"raw/public/PRJNA667174",
"clustering/PRJNA667174/exploring",
"Scanpy_Harmony",
EMBEDDING_FILE
)
)
embedding |> head()
Single-cell transcriptome analysis
embedding <- embedding |>
dplyr::left_join(
cell_metadata |>
dplyr::select(-batch),
by = c("cell" = "cell")
) |>
dplyr::mutate(
developmental_stage = factor(
developmental_stage,
levels = c("D6", "D8", "D10")
),
lineage = factor(
lineage,
levels = c(
c("EPI", "PE", "TE", "IM", "CTB", "STB")
)
)
)
embedding |>
dplyr::group_by(
batch
) |>
dplyr::summarise(
num_cells = n(),
median_umis = median(num_umis),
num_features = median(num_features),
median_mt_percentage = median(mt_percentage)
) |>
gt::gt() |>
gt::tab_options(table.font.size = "median")
batch |
num_cells |
median_umis |
num_features |
median_mt_percentage |
GSM4816780 |
10933 |
6203.0 |
2240.0 |
0.007092199 |
GSM4816781 |
11634 |
12780.5 |
3357.0 |
0.052984867 |
GSM4816782 |
7872 |
12238.0 |
3778.5 |
0.065663483 |
embedding |>
dplyr::group_by(
developmental_stage
) |>
dplyr::summarise(
num_cells = n(),
median_umis = median(num_umis),
num_features = median(num_features),
median_mt_percentage = median(mt_percentage)
) |>
gt::gt() |>
gt::tab_options(table.font.size = "median")
developmental_stage |
num_cells |
median_umis |
num_features |
median_mt_percentage |
D6 |
10933 |
6203.0 |
2240.0 |
0.007092199 |
D8 |
11634 |
12780.5 |
3357.0 |
0.052984867 |
D10 |
7872 |
12238.0 |
3778.5 |
0.065663483 |
embedding |>
dplyr::group_by(
leiden
) |>
dplyr::summarise(
num_cells = n(),
median_umis = median(num_umis),
num_features = median(num_features),
median_mt_percentage = median(mt_percentage)
) |>
gt::gt() |>
gt::tab_options(table.font.size = "median")
leiden |
num_cells |
median_umis |
num_features |
median_mt_percentage |
0 |
4069 |
1534.0 |
831.0 |
0.021715527 |
1 |
3566 |
4522.0 |
1807.5 |
0.008945333 |
2 |
3539 |
30389.0 |
5452.0 |
0.055672797 |
3 |
3224 |
23761.0 |
4960.5 |
0.058259888 |
4 |
2780 |
26048.0 |
5237.5 |
0.055429823 |
5 |
2434 |
23133.5 |
4583.0 |
0.041058811 |
6 |
2396 |
796.0 |
514.5 |
0.044039793 |
7 |
2255 |
1241.0 |
710.0 |
0.011739594 |
8 |
1186 |
3766.0 |
1760.0 |
0.082827767 |
9 |
1106 |
17752.0 |
4222.5 |
0.054710045 |
10 |
1031 |
24862.0 |
4980.0 |
0.044412686 |
11 |
966 |
3412.0 |
1511.5 |
0.004119256 |
12 |
663 |
13107.0 |
3648.0 |
0.060423344 |
13 |
595 |
31669.0 |
5599.0 |
0.053610239 |
14 |
363 |
25393.0 |
5062.0 |
0.053125720 |
15 |
266 |
1410.0 |
735.5 |
0.038481308 |
Embedding visualization
x_column <- "x_umap_min_dist=0.1"
y_column <- "y_umap_min_dist=0.1"
# GEOM_POINT_SIZE <- 1.25
GEOM_POINT_SIZE <- 0.2
EMBEDDING_TITLE_PREFIX <- "UMAP"
RASTERISED <- TRUE
Clustering & UMI & MT
p_embedding_leiden <- plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = embedding$leiden |> as.factor(),
label = paste(EMBEDDING_TITLE_PREFIX, "Leiden", sep = "; "),
label_position = NULL,
show_color_value_labels = TRUE,
show_color_legend = FALSE,
geom_point_size = GEOM_POINT_SIZE,
sort_values = FALSE,
shuffle_values = FALSE,
rasterise = RASTERISED
) +
theme_customized()
CB_POSITION <- c(0.8, 0.995)
p_embedding_UMI <- plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = log10(embedding$num_umis),
label = paste(EMBEDDING_TITLE_PREFIX, "UMI", sep = "; "),
label_position = NULL,
show_color_value_labels = FALSE,
show_color_legend = TRUE,
geom_point_size = GEOM_POINT_SIZE,
sort_values = TRUE,
shuffle_values = TRUE,
rasterise = RASTERISED,
legend_size = 2
) +
theme_customized(
x = CB_POSITION[1],
legend_key_size = 2,
legend_text_size = 5
)
p_embedding_MT <- plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = embedding$mt_percentage,
label = paste(EMBEDDING_TITLE_PREFIX, "MT%", sep = "; "),
label_position = NULL,
show_color_value_labels = FALSE,
show_color_legend = TRUE,
geom_point_size = GEOM_POINT_SIZE * 2,
sort_values = TRUE,
shuffle_values = TRUE,
rasterise = RASTERISED,
legend_size = 2
) +
theme_customized(
x = CB_POSITION[1],
legend_key_size = 2,
legend_text_size = 5
)
Clustering of 30,439 cells.
purrr::reduce(
list(
p_embedding_leiden,
p_embedding_UMI,
p_embedding_MT
),
`+`
) +
patchwork::plot_layout(ncol = 3) +
patchwork::plot_annotation(
theme = theme(plot.margin = margin())
)
Lineage & origin & developmental stage
p_embedding_lineage <- plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = embedding$lineage,
label = paste(EMBEDDING_TITLE_PREFIX, "Lineage", sep = "; "),
label_position = NULL,
show_color_value_labels = FALSE,
show_color_legend = TRUE,
geom_point_size = GEOM_POINT_SIZE,
sort_values = FALSE,
shuffle_values = TRUE,
rasterise = RASTERISED,
legend_size = 2
) +
theme_customized(
x = CB_POSITION[1],
legend_key_size = 2,
legend_text_size = 5
)
p_embedding_batch <- plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = embedding$batch |> as.factor(),
label = paste(EMBEDDING_TITLE_PREFIX, "Batch", sep = "; "),
label_position = NULL,
show_color_value_labels = FALSE,
show_color_legend = TRUE,
geom_point_size = GEOM_POINT_SIZE,
sort_values = FALSE,
shuffle_values = TRUE,
rasterise = RASTERISED,
legend_size = 2
) +
theme_customized(
x = CB_POSITION[1] - 0.1,
legend_key_size = 2,
legend_text_size = 5
)
p_embedding_developmental_stage <- plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = embedding$developmental_stage |> as.factor(),
label = paste(EMBEDDING_TITLE_PREFIX, "Developmental stage", sep = "; "),
label_position = NULL,
show_color_value_labels = FALSE,
show_color_legend = TRUE,
geom_point_size = GEOM_POINT_SIZE,
sort_values = FALSE,
shuffle_values = TRUE,
rasterise = RASTERISED,
legend_size = 2
) +
theme_customized(
x = CB_POSITION[1],
legend_key_size = 2,
legend_text_size = 5
)
purrr::reduce(
list(
p_embedding_lineage,
p_embedding_batch,
p_embedding_developmental_stage
),
`+`
) +
patchwork::plot_layout(ncol = 3) +
patchwork::plot_annotation(
theme = theme(plot.margin = margin())
)
Developmental stage
embedding |>
dplyr::group_by(
developmental_stage
) |>
dplyr::summarise(
num_cells = n(),
median_umis = median(num_umis),
num_features = median(num_features),
median_mt_percentage = median(mt_percentage)
) |>
gt::gt() |>
gt::tab_options(table.font.size = "median")
developmental_stage |
num_cells |
median_umis |
num_features |
median_mt_percentage |
D6 |
10933 |
6203.0 |
2240.0 |
0.007092199 |
D8 |
11634 |
12780.5 |
3357.0 |
0.052984867 |
D10 |
7872 |
12238.0 |
3778.5 |
0.065663483 |
purrr::map(levels(embedding$developmental_stage), function(x) {
plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = as.numeric(
embedding$developmental_stage == x
) |> as.factor(),
label = paste(EMBEDDING_TITLE_PREFIX, x, sep = "; "),
label_position = NULL,
show_color_value_labels = FALSE,
show_color_legend = FALSE,
geom_point_size = GEOM_POINT_SIZE,
sort_values = TRUE,
rasterise = RASTERISED
) +
theme_customized() +
scale_color_manual(
values = c("grey70", "salmon")
)
}) |>
purrr::reduce(`+`) +
patchwork::plot_layout(ncol = 3) +
patchwork::plot_annotation(
theme = theme(plot.margin = margin())
)
Lineage
embedding |>
dplyr::group_by(
lineage
) |>
dplyr::summarise(
num_cells = n(),
median_umis = median(num_umis),
num_features = median(num_features),
median_mt_percentage = median(mt_percentage)
) |>
gt::gt() |>
gt::tab_options(table.font.size = "median")
lineage |
num_cells |
median_umis |
num_features |
median_mt_percentage |
EPI |
1340 |
28910.0 |
5194.0 |
0.018937359 |
PE |
2083 |
23615.0 |
4849.0 |
0.020250376 |
TE |
2472 |
2253.5 |
1112.5 |
0.003417852 |
IM |
6478 |
4360.5 |
1841.0 |
0.008306207 |
CTB |
9438 |
22634.5 |
4912.0 |
0.066582772 |
STB |
8628 |
2255.5 |
1219.0 |
0.030517943 |
purrr::map(levels(embedding$lineage), function(x) {
plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = as.numeric(embedding$lineage == x) |> as.factor(),
label = paste(EMBEDDING_TITLE_PREFIX, x, sep = "; "),
label_position = NULL,
show_color_value_labels = FALSE,
show_color_legend = FALSE,
geom_point_size = GEOM_POINT_SIZE,
sort_values = FALSE,
rasterise = RASTERISED,
legend_size = 2
) +
theme_customized(
x = CB_POSITION[1] - 0.3,
legend_key_size = 2,
legend_text_size = 5
) +
scale_color_manual(
values = c("grey70", "salmon")
)
}) |>
purrr::reduce(`+`) +
patchwork::plot_layout(ncol = 3) +
patchwork::plot_annotation(
theme = theme(plot.margin = margin())
)
Composition
p_barplot_composition_developmental_stage <- calc_group_composition(
data = embedding,
x = "leiden",
group = "developmental_stage"
) |>
dplyr::mutate(
leiden = factor(leiden)
) |>
plot_barplot(
x = "leiden",
y = "percentage",
z = "developmental_stage",
legend_ncol = 1
)
p_barplot_composition_lineage <- calc_group_composition(
data = embedding,
x = "leiden",
group = "lineage"
) |>
dplyr::mutate(
leiden = factor(leiden)
) |>
plot_barplot(
x = "leiden",
y = "percentage",
z = "lineage",
legend_ncol = 1
)
p_barplot_combined <- list(
p_barplot_composition_lineage,
p_barplot_composition_developmental_stage
) |>
purrr::reduce(`+`) +
patchwork::plot_layout(nrow = 2, guides = "collect") +
patchwork::plot_annotation(
theme = theme(plot.margin = margin())
)
p_barplot_combined
calc_group_composition(
data = embedding,
x = "lineage",
group = "developmental_stage"
) |>
plot_barplot(
x = "lineage",
y = "percentage",
z = "developmental_stage",
legend_ncol = 1
)
calc_group_composition(
data = embedding,
x = "developmental_stage",
group = "lineage"
) |>
plot_barplot(
x = "developmental_stage",
y = "percentage",
z = "lineage",
legend_ncol = 1
)
Expression
Embedding
FEATURES_SELECTED <- c(
"ENSG00000204531_POU5F1",
"ENSG00000111704_NANOG",
"ENSG00000171872_KLF17",
"ENSG00000186103_ARGFX",
#
"ENSG00000164736_SOX17",
"ENSG00000125798_FOXA2",
"ENSG00000136574_GATA4",
"ENSG00000134853_PDGFRA",
#
"ENSG00000179348_GATA2",
"ENSG00000070915_SLC12A3",
"ENSG00000165556_CDX2",
"ENSG00000007866_TEAD3"
)
purrr::map(FEATURES_SELECTED, function(x) {
selected_feature <- x
cat(selected_feature, "\n")
values <- log10(calc_cpm(matrix_readcount_use[, embedding$cell])[selected_feature, ] + 1)
p1 <- plot_embedding(
embedding = embedding[, c(x_column, y_column)],
color_values = values,
label = paste(
EMBEDDING_TITLE_PREFIX,
selected_feature |> stringr::str_remove(pattern = "^E.+_"),
sep = "; "
),
label_position = NULL,
show_color_value_labels = FALSE,
show_color_legend = TRUE,
geom_point_size = GEOM_POINT_SIZE * 2,
sort_values = TRUE,
shuffle_values = FALSE,
rasterise = RASTERISED,
legend_size = 2
) +
scale_color_viridis_c(
na.value = "grey80"
) +
theme_customized(
x = CB_POSITION[1] + 0.05,
legend_key_size = 2,
legend_text_size = 5
)
return(p1)
}) |>
# unlist(recursive = FALSE) |>
purrr::reduce(`+`) +
patchwork::plot_layout(ncol = 3) +
patchwork::plot_annotation(
theme = theme(plot.margin = margin())
)
## ENSG00000204531_POU5F1
## ENSG00000111704_NANOG
## ENSG00000171872_KLF17
## ENSG00000186103_ARGFX
## ENSG00000164736_SOX17
## ENSG00000125798_FOXA2
## ENSG00000136574_GATA4
## ENSG00000134853_PDGFRA
## ENSG00000179348_GATA2
## ENSG00000070915_SLC12A3
## ENSG00000165556_CDX2
## ENSG00000007866_TEAD3
R session info
devtools::session_info()$platform
## setting value
## version R version 4.1.1 (2021-08-10)
## os macOS Big Sur 10.16
## system x86_64, darwin20.4.0
## ui unknown
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz America/Chicago
## date 2021-09-11
devtools::session_info()$pack |>
as_tibble() |>
dplyr::select(
package,
loadedversion,
date,
`source`
) |>
# print(n = nrow(.))
gt::gt() |>
gt::tab_options(table.font.size = "median")
package |
loadedversion |
date |
source |
assertthat |
0.2.1 |
2019-03-21 |
CRAN (R 4.1.1) |
backports |
1.2.1 |
2020-12-09 |
CRAN (R 4.1.1) |
beeswarm |
0.4.0 |
2021-06-01 |
CRAN (R 4.1.1) |
bit |
4.0.4 |
2020-08-04 |
CRAN (R 4.1.1) |
bit64 |
4.0.5 |
2020-08-30 |
CRAN (R 4.1.1) |
broom |
0.7.9 |
2021-07-27 |
CRAN (R 4.1.1) |
bslib |
0.3.0 |
2021-09-02 |
CRAN (R 4.1.1) |
cachem |
1.0.6 |
2021-08-19 |
CRAN (R 4.1.1) |
callr |
3.7.0 |
2021-04-20 |
CRAN (R 4.1.1) |
cellranger |
1.1.0 |
2016-07-27 |
CRAN (R 4.1.1) |
checkmate |
2.0.0 |
2020-02-06 |
CRAN (R 4.1.1) |
cli |
3.0.1 |
2021-07-17 |
CRAN (R 4.1.1) |
colorspace |
2.0-2 |
2021-06-24 |
CRAN (R 4.1.1) |
crayon |
1.4.1 |
2021-02-08 |
CRAN (R 4.1.1) |
DBI |
1.1.1 |
2021-01-15 |
CRAN (R 4.1.1) |
dbplyr |
2.1.1 |
2021-04-06 |
CRAN (R 4.1.1) |
desc |
1.3.0 |
2021-03-05 |
CRAN (R 4.1.1) |
devtools |
2.4.2 |
2021-08-19 |
Github (r-lib/devtools@e10658f) |
digest |
0.6.27 |
2020-10-24 |
CRAN (R 4.1.1) |
dplyr |
1.0.7.9000 |
2021-09-08 |
Github (tidyverse/dplyr@47b3fdf) |
ellipsis |
0.3.2 |
2021-04-29 |
CRAN (R 4.1.1) |
evaluate |
0.14 |
2019-05-28 |
CRAN (R 4.1.1) |
extrafont |
0.17 |
2014-12-08 |
CRAN (R 4.1.1) |
extrafontdb |
1.0 |
2012-06-11 |
CRAN (R 4.1.1) |
fansi |
0.5.0 |
2021-05-25 |
CRAN (R 4.1.1) |
farver |
2.1.0 |
2021-02-28 |
CRAN (R 4.1.1) |
fastmap |
1.1.0 |
2021-01-25 |
CRAN (R 4.1.1) |
forcats |
0.5.1.9000 |
2021-08-15 |
Github (tidyverse/forcats@b5fce89) |
fs |
1.5.0.9000 |
2021-08-15 |
Github (r-lib/fs@10e38dd) |
generics |
0.1.0 |
2020-10-31 |
CRAN (R 4.1.1) |
ggbeeswarm |
0.6.0 |
2017-08-07 |
CRAN (R 4.1.1) |
ggplot2 |
3.3.5.9000 |
2021-09-07 |
Github (tidyverse/ggplot2@ffcfaf7) |
ggrastr |
0.2.3 |
2021-08-15 |
Github (VPetukhov/ggrastr@1ef0ff5) |
glue |
1.4.2 |
2020-08-27 |
CRAN (R 4.1.1) |
gt |
0.3.1 |
2021-08-07 |
CRAN (R 4.1.1) |
gtable |
0.3.0.9000 |
2021-08-15 |
Github (r-lib/gtable@0fc53e0) |
haven |
2.4.3 |
2021-08-04 |
CRAN (R 4.1.1) |
highr |
0.9 |
2021-04-16 |
CRAN (R 4.1.1) |
hms |
1.1.0 |
2021-05-17 |
CRAN (R 4.1.1) |
htmltools |
0.5.2 |
2021-08-25 |
CRAN (R 4.1.1) |
httr |
1.4.2 |
2020-07-20 |
CRAN (R 4.1.1) |
jquerylib |
0.1.4 |
2021-04-26 |
CRAN (R 4.1.1) |
jsonlite |
1.7.2 |
2020-12-09 |
CRAN (R 4.1.1) |
knitr |
1.34 |
2021-09-09 |
CRAN (R 4.1.1) |
labeling |
0.4.2 |
2020-10-20 |
CRAN (R 4.1.1) |
lattice |
0.20-44 |
2021-05-02 |
CRAN (R 4.1.1) |
lifecycle |
1.0.0 |
2021-02-15 |
CRAN (R 4.1.1) |
lubridate |
1.7.10 |
2021-02-26 |
CRAN (R 4.1.1) |
magrittr |
2.0.1 |
2020-11-17 |
CRAN (R 4.1.1) |
Matrix |
1.3-4 |
2021-06-01 |
CRAN (R 4.1.1) |
memoise |
2.0.0 |
2021-01-26 |
CRAN (R 4.1.1) |
modelr |
0.1.8 |
2020-05-19 |
CRAN (R 4.1.1) |
munsell |
0.5.0 |
2018-06-12 |
CRAN (R 4.1.1) |
patchwork |
1.1.0.9000 |
2021-08-15 |
Github (thomasp85/patchwork@79223d3) |
pillar |
1.6.2 |
2021-08-26 |
Github (r-lib/pillar@1058bda) |
pkgbuild |
1.2.0 |
2020-12-15 |
CRAN (R 4.1.1) |
pkgconfig |
2.0.3 |
2019-09-22 |
CRAN (R 4.1.1) |
pkgload |
1.2.1 |
2021-04-06 |
CRAN (R 4.1.1) |
png |
0.1-7 |
2013-12-03 |
CRAN (R 4.1.1) |
prettyunits |
1.1.1.9000 |
2021-08-15 |
Github (r-lib/prettyunits@8706d89) |
processx |
3.5.2 |
2021-04-30 |
CRAN (R 4.1.1) |
ps |
1.6.0 |
2021-02-28 |
CRAN (R 4.1.1) |
purrr |
0.3.4.9000 |
2021-08-15 |
Github (tidyverse/purrr@5aca9df) |
R6 |
2.5.0.9000 |
2021-08-15 |
Github (r-lib/R6@1d70936) |
ragg |
1.1.3.9000 |
2021-08-15 |
Github (r-lib/ragg@adf5f06) |
Rcpp |
1.0.7 |
2021-07-07 |
CRAN (R 4.1.1) |
readr |
2.0.1.9000 |
2021-09-07 |
Github (tidyverse/readr@397a59a) |
readxl |
1.3.1.9000 |
2021-08-19 |
Github (tidyverse/readxl@649982a) |
remotes |
2.4.0.9001 |
2021-09-02 |
Github (r-lib/remotes@6a0e560) |
reprex |
2.0.1 |
2021-08-05 |
CRAN (R 4.1.1) |
reticulate |
1.20 |
2021-05-03 |
CRAN (R 4.1.1) |
rlang |
0.4.11.9001 |
2021-09-08 |
Github (r-lib/rlang@9c6291f) |
rmarkdown |
2.10.6 |
2021-09-02 |
Github (rstudio/rmarkdown@eaf6efc) |
rprojroot |
2.0.2 |
2020-11-15 |
CRAN (R 4.1.1) |
rstudioapi |
0.13.0-9000 |
2021-08-15 |
Github (rstudio/rstudioapi@96fad1d) |
Rttf2pt1 |
1.3.9 |
2021-07-22 |
CRAN (R 4.1.1) |
rvest |
1.0.1 |
2021-07-26 |
CRAN (R 4.1.1) |
sass |
0.4.0 |
2021-05-12 |
CRAN (R 4.1.1) |
scales |
1.1.1 |
2020-05-11 |
CRAN (R 4.1.1) |
sessioninfo |
1.1.1 |
2018-11-05 |
CRAN (R 4.1.1) |
stringi |
1.7.4 |
2021-08-25 |
CRAN (R 4.1.1) |
stringr |
1.4.0 |
2019-02-10 |
CRAN (R 4.1.1) |
styler |
1.5.1.9001 |
2021-08-21 |
Github (r-lib/styler@2b1eeac) |
systemfonts |
1.0.2 |
2021-05-11 |
CRAN (R 4.1.1) |
testthat |
3.0.4.9000 |
2021-09-11 |
Github (r-lib/testthat@2dc496c) |
textshaping |
0.3.5 |
2021-06-09 |
CRAN (R 4.1.1) |
tibble |
3.1.4.9000 |
2021-08-26 |
Github (tidyverse/tibble@e3e40af) |
tidyr |
1.1.3.9000 |
2021-08-27 |
Github (tidyverse/tidyr@7947507) |
tidyselect |
1.1.1 |
2021-04-30 |
CRAN (R 4.1.1) |
tidyverse |
1.3.1.9000 |
2021-08-16 |
Github (tidyverse/tidyverse@195d8a4) |
tzdb |
0.1.2 |
2021-07-20 |
CRAN (R 4.1.1) |
usethis |
2.0.1.9000 |
2021-08-30 |
Github (r-lib/usethis@3385e14) |
utf8 |
1.2.2 |
2021-07-24 |
CRAN (R 4.1.1) |
vctrs |
0.3.8 |
2021-04-29 |
CRAN (R 4.1.1) |
vipor |
0.4.5 |
2017-03-22 |
CRAN (R 4.1.1) |
viridisLite |
0.4.0 |
2021-04-13 |
CRAN (R 4.1.1) |
vroom |
1.5.4.9000 |
2021-09-11 |
Github (r-lib/vroom@c546abe) |
withr |
2.4.2 |
2021-04-18 |
CRAN (R 4.1.1) |
xfun |
0.25 |
2021-08-06 |
CRAN (R 4.1.1) |
xml2 |
1.3.2 |
2020-04-23 |
CRAN (R 4.1.1) |
yaml |
2.2.1 |
2020-02-01 |
CRAN (R 4.1.1) |