# anndata for R > **⚠️ This package is superseded by > [anndataR](https://anndataR.scverse.org).** > > `anndataR` provides a pure R implementation of the `AnnData` data > structure with no Python required. It reads and writes `.h5ad` files > natively and supports conversion to/from `SingleCellExperiment` and > `Seurat` objects. New users should install `anndataR` from > Bioconductor instead: > > ``` r > BiocManager::install("anndataR") > ``` > > Existing users of `anndata` can follow the [migration > guide](https://anndata.dynverse.org/articles/migration_to_anndataR.html) > for guidance on switching to `anndataR`. `anndata` for R is a `reticulate` wrapper for the Python `anndata` package. ## Installation > **Note:** New projects should use > [anndataR](https://anndataR.scverse.org) instead. See the [migration > guide](https://anndata.dynverse.org/articles/migration_to_anndataR.html). You can install `anndata` for R from CRAN as follows: ``` r install.packages("anndata") ``` Normally, reticulate should take care of installing Miniconda and the Python anndata. If not, try running: ``` r reticulate::install_miniconda() anndata::install_anndata() ``` ## Getting started The API of anndata for R is very similar to its Python counterpart. Here is an example: ``` r library(anndata) ad <- read_h5ad("example_formats/pbmc_1k_protein_v3_processed.h5ad") ad ``` ``` R ## AnnData object with n_obs × n_vars = 713 × 33538 ## var: 'gene_ids', 'feature_types', 'genome', 'highly_variable', 'means', 'dispersions', 'dispersions_norm' ## uns: 'hvgParameters', 'normalizationParameters', 'pca', 'pcaParameters' ## obsm: 'X_pca' ## varm: 'PCs' ``` ``` r Matrix::rowMeans(ad$X[1:10, ]) ``` ``` R ## AAACCCAAGTGGTCAG-1 AAAGGTATCAACTACG-1 AAAGTCCAGCGTGTCC-1 AACACACTCAAGAGTA-1 ## 0.06499579 0.06385104 0.06102355 0.06739055 ## AACACACTCGACGAGA-1 AACAGGGCAGGAGGTT-1 AACAGGGCAGTGTATC-1 AACAGGGTCAGAATAG-1 ## 0.08891241 0.08648681 0.09318970 0.09140243 ## AACCTGAAGATGGTCG-1 AACGGGATCGTTATCT-1 ## 0.06664118 0.07866523 ``` See [`?anndata`](https://anndata.dynverse.org/reference/anndata-package.md) for a full list of the functions provided by this package. Check out any of the other vignettes by clicking any of the links below: - [Getting started](https://anndata.dynverse.org/articles/getting_started.html) - [Migrating from anndata to anndataR](https://anndata.dynverse.org/articles/migration_to_anndataR.html) - [Demo with scanpy](https://anndata.dynverse.org/articles/scanpy_demo.html) ## Future work This package is no longer under active development as it has been superseded by [anndataR](https://anndataR.scverse.org). Bug fixes may still be applied, but no new features are planned. ## References # Package index ## Package documentation - [`anndata-package`](https://anndata.dynverse.org/reference/anndata-package.md) [`anndata`](https://anndata.dynverse.org/reference/anndata-package.md) **\[superseded\]** : anndata - Annotated Data ## Creating an AnnData object - [`AnnData()`](https://anndata.dynverse.org/reference/AnnData.md) : Create an Annotated Data Matrix ## Concatenating two or more AnnData objects - [`concat()`](https://anndata.dynverse.org/reference/concat.md) **\[superseded\]** : concat ## Reading an AnnData object from a file - [`read_csv()`](https://anndata.dynverse.org/reference/read_csv.md) **\[superseded\]** : read_csv - [`read_excel()`](https://anndata.dynverse.org/reference/read_excel.md) **\[superseded\]** : read_excel - [`read_h5ad()`](https://anndata.dynverse.org/reference/read_h5ad.md) **\[superseded\]** : read_h5ad - [`read_hdf()`](https://anndata.dynverse.org/reference/read_hdf.md) **\[superseded\]** : read_hdf - [`read_loom()`](https://anndata.dynverse.org/reference/read_loom.md) **\[superseded\]** : read_loom - [`read_mtx()`](https://anndata.dynverse.org/reference/read_mtx.md) **\[superseded\]** : read_mtx - [`read_text()`](https://anndata.dynverse.org/reference/read_text.md) **\[superseded\]** : read_text - [`read_umi_tools()`](https://anndata.dynverse.org/reference/read_umi_tools.md) **\[superseded\]** : read_umi_tools - [`read_zarr()`](https://anndata.dynverse.org/reference/read_zarr.md) **\[superseded\]** : Read from a hierarchical Zarr array store. ## Writing an AnnData object to a file - [`write_csvs()`](https://anndata.dynverse.org/reference/write_csvs.md) **\[superseded\]** : Write annotation to .csv files. - [`write_h5ad()`](https://anndata.dynverse.org/reference/write_h5ad.md) **\[superseded\]** : Write .h5ad-formatted hdf5 file. - [`write_loom()`](https://anndata.dynverse.org/reference/write_loom.md) **\[superseded\]** : Write .loom-formatted hdf5 file. - [`write_zarr()`](https://anndata.dynverse.org/reference/write_zarr.md) **\[superseded\]** : Write a hierarchical Zarr array store. ## Installer Helper function for installing the anndata Python package - [`install_anndata()`](https://anndata.dynverse.org/reference/install_anndata.md) **\[deprecated\]** : Install anndata ## Helper functions / sugar syntax - [`Layers()`](https://anndata.dynverse.org/reference/Layers.md) : Create a Layers object - [`Raw()`](https://anndata.dynverse.org/reference/Raw.md) : Create a Raw object - [`dimnames(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`` `dimnames<-`( ``*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`dim(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`as.data.frame(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`as.matrix(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`r_to_py(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`` `[`( ``*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`t(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/AnnDataHelpers.md) : AnnData Helpers - [`dimnames(`*``*`)`](https://anndata.dynverse.org/reference/RawHelpers.md) [`dim(`*``*`)`](https://anndata.dynverse.org/reference/RawHelpers.md) [`as.matrix(`*``*`)`](https://anndata.dynverse.org/reference/RawHelpers.md) [`r_to_py(`*``*`)`](https://anndata.dynverse.org/reference/RawHelpers.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/RawHelpers.md) [`` `[`( ``*``*`)`](https://anndata.dynverse.org/reference/RawHelpers.md) : Raw Helpers - [`all.equal(`*``*`)`](https://anndata.dynverse.org/reference/all.equal.md) [`all.equal(`*``*`)`](https://anndata.dynverse.org/reference/all.equal.md) [`all.equal(`*``*`)`](https://anndata.dynverse.org/reference/all.equal.md) : Test if two objects objects are equal - [`names(`*``*`)`](https://anndata.dynverse.org/reference/LayersHelpers.md) [`length(`*``*`)`](https://anndata.dynverse.org/reference/LayersHelpers.md) [`r_to_py(`*``*`)`](https://anndata.dynverse.org/reference/LayersHelpers.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/LayersHelpers.md) [`` `[`( ``*``*`)`](https://anndata.dynverse.org/reference/LayersHelpers.md) [`` `[<-`( ``*``*`)`](https://anndata.dynverse.org/reference/LayersHelpers.md) [`` `[[`( ``*``*`)`](https://anndata.dynverse.org/reference/LayersHelpers.md) [`` `[[<-`( ``*``*`)`](https://anndata.dynverse.org/reference/LayersHelpers.md) : Layers Helpers - [`` `[[<-`( ``*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`` `[[`( ``*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`` `[<-`( ``*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`` `[`( ``*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`names(`*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) [`py_to_r(`*``*`)`](https://anndata.dynverse.org/reference/r-py-conversion.md) : Convert between Python and R objects # Articles ### All vignettes - [Getting started](https://anndata.dynverse.org/articles/getting_started.md): - [Migrating from anndata to anndataR](https://anndata.dynverse.org/articles/migration_to_anndataR.md): - [Demo with scanpy](https://anndata.dynverse.org/articles/scanpy_demo.md):