Commit ea8940a
ARROW-3282: [R] initial R functionality
* Wrapping C++ pointers to arrow objects as R6 classes holding an R external pointer.
* Factory functions for the metadata types, int32(), ...
* Factory to create schemas and struct
* Create Array, RecordBatch, Table from R vectors and data frames. initially only support integer (int32), numeric (float64) and raw (int8) vectors.
* Reading and Writing record batches and Table to files.
Author: Romain Francois <[email protected]>
Closes #2596 from romainfrancois/r-dev-buffer and squashes the following commits:
9ab1882 <Romain Francois> mark Roxygen and Rcpp generated files
661f370 <Romain Francois> Using FirstTimeBitmapWriter instead of BitmapWriter.
e81b72b <Romain Francois> only set null_bitmap if null_count > 0
bfe853d <Romain Francois> using 0-based indices in the tests.
b391556 <Romain Francois> Also use arrow::internak::BitmapWriter
9e60555 <Romain Francois> name fixes. Using __ consistently
bf814bb <Romain Francois> Using arrow::internal::BitmapReader
c8aa703 <Romain Francois> Also use std::shared_ptr for MemoryPool.
2aa8a5f <Romain Francois> need dev version of `vctrs`
394bd33 <Romain Francois> 🐀 + RecordBatch$Slice
de93a4f <Romain Francois> RecordBatch tests
9d208a4 <Romain Francois> +Array$RangeEquals
f860063 <Romain Francois> Move each class to their own file
a89a9a8 <Romain Francois> Move RecordBatch impl to own file
a2f9f51 <Romain Francois> correctly handling offset()
8263c0d <Romain Francois> + tests for ChunkedArray
e02e24f <Romain Francois> +chunked_array and tests
b20e4b0 <Romain Francois> More tests
d11cda0 <Romain Francois> +R6 class ChunkedArray
29af2ea <Romain Francois> license headers
2f53ebf <Romain Francois> Additional tests for read_arrow / write_arrow
4237c32 <Romain Francois> Clear the bit for non NA.
ede8e44 <Romain Francois> Handle null buffer in R <-> Array conversions
a5b8190 <Romain Francois> update README with example of reading/writing arrow::Table
d951db8 <Romain Francois> "documentation" to quiet check()
908c2ac <Romain Francois> read_arrow and write_arrow now relate to arrow::Table.
110b00d <Romain Francois> resolving conflicts
ae55f8b <Romain Francois> ..
767e9d9 <Romain Francois> more generic print method
8d8cdd1 <Romain Francois> + read_arrow / write_arrow for now
c1385a0 <Romain Francois> export Array_as_vector, +Array$ToString
23fbd01 <Romain Francois> + column names
97659ff <Romain Francois> + as_tibble.arrow::RecordBatch
fa4ee22 <Romain Francois> + read_record_batch
f27eeba <Romain Francois> - MakeArray
4977bb2 <Romain Francois> no need to make ArrayData directly
ef7cda1 <Romain Francois> class constructors only take the external pointers, logic moved to factory functions
81e059a <Romain Francois> rebasing
421e471 <Romain Francois> +macro R_ERROR_NOT_OK similar to RETURN_NOT_OK but that Rcpp::stop()s
f5e3eff <Romain Francois> attempt RecordBatch$to_file
79205fb <Romain Francois> initial stab at arrow::table(data.frame)
f6f1775 <Romain Francois> s/data/.data/
b9c215b <Romain Francois> "document" array and record_batch
edf6098 <Romain Francois> Need to install `vctrs` from github for now
6aecdce <Romain Francois> skip using rpath linker option
b8dac54 <Romain Francois> +RecordBatch$schema
1fc3cc2 <Romain Francois> no longer need this
05da931 <Romain Francois> initial stab at record_batch
f4d0a34 <Romain Francois> must include arrow_types.h first
aee2d0a <Romain Francois> initial stab at arrow::array
a6ae2f3 <Romain Francois> cleanup
e14b546 <Romain Francois> follow up from @wesm comments on #2489
36e9801 <Romain Francois> + installation instructions
108caf9 <Romain Francois> not checking for headers on these files
b829bdf <Romain Francois> initial R 📦 with travis setup and testthat suite, that links to arrow c++ library and calls arrow::int32()
26e712d <Romain Francois> Initial work for type metadata, with tests.
e251299 <Romain Francois> + installation instructions
a9a8bbb <Romain Francois> not checking for headers on these files
e0a7eff <Romain Francois> initial R 📦 with travis setup and testthat suite, that links to arrow c++ library and calls arrow::int32()
b1c1109 <Romain Francois> finished rebasing after initial R patch merged
887df48 <Romain Francois> skip using rpath linker option
a6de975 <Romain Francois> cleanup
8526e51 <Romain Francois> follow up from @wesm comments on #2489
f03a277 <Romain Francois> + installation instructions
0995ca4 <Romain Francois> not checking for headers on these files
1cb547e <Romain Francois> initial R 📦 with travis setup and testthat suite, that links to arrow c++ library and calls arrow::int32()
705c125 <Romain Francois> exclude Rd files 🐀
605e302 <Romain Francois> time32 only handles second and millisecond time64 only handles microsecond and nanosecond
afdbae6 <Romain Francois> + licence header for R6.R file
65563f5 <Romain Francois> minimal documentation for check()
b7135c7 <Romain Francois> stop exporting everything
6aaf192 <Romain Francois> ignoring the .clang-format file
d854f2f <Romain Francois> + license headers for R files 🙊
d992b26 <Romain Francois> Initial work for type metadata, with tests.
614dd07 <Romain Francois> + installation instructions
afce06a <Romain Francois> initial R 📦 with travis setup and testthat suite, that links to arrow c++ library and calls arrow::int32()1 parent 5167502 commit ea8940a
File tree
51 files changed
+4714
-32
lines changed- dev/release
- r
- R
- data-raw
- man
- src
- tests
- testthat
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
51 files changed
+4714
-32
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
| 130 | + | |
| 131 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
18 | 29 | | |
19 | | - | |
20 | | - | |
| 30 | + | |
| 31 | + | |
21 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
3 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
4 | 61 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
0 commit comments