Comments (2)
See https://stackoverflow.com/q/77204216 for implementation advice, timings below
library(arrow)
artab <- arrow_table(int=1:1000000, value=runif(1000000))
library(dplyr)
library(data.table) # for %between% operator syntax
req_vals <- data.frame(lower_bound=runif(200)) %>%
mutate(upper_bound=lower_bound+0.0002)
eval_method <- function(){
window_req_string <- req_vals %>%
summarise(req_cmd=paste0("value%between%c(", lower_bound, ", ", upper_bound,
")", collapse="|")) %>%
pull(req_cmd)
full_arrow_req <- paste0(
'artab %>% filter(', window_req_string, ') %>% dplyr::collect()'
)
eval(parse(text=full_arrow_req)) %>%
arrange(int)
}
lapply_method <- function(){
req_list <- split(req_vals, seq_len(nrow(req_vals))) %>%
lapply(unlist)
lapply(req_list, function(window) {
artab %>%
filter(value%between%window) %>%
collect()
}) %>%
bind_rows() %>%
distinct() %>%
arrange(int)
}
identical(arrow_output_eval, arrow_output_lapply)
microbenchmark::microbenchmark(eval_method(), lapply_method(), times = 3, check = "identical")
from rams.
See the new vignette introduced in #24 for timing and implementation of arrow
and its comparison to other packages.
from rams.
Related Issues (20)
- Constructing tmzMLs on the fly HOT 2
- Can't read mzML files written by OpenChrom because of missing namespace declaration HOT 5
- feature request: read different types of scan HOT 4
- add a filetype check BEFORE loading any files HOT 1
- Add convenience functions trapz, mz_group, and qplotMSdata HOT 1
- RaMS v1.3.2
- feature request: dia data HOT 6
- Metabolights no longer allows direct file access :( HOT 1
- grabMzxmlBPC still uses old method to determine RT unit HOT 1
- Update CITATION to link to RaMS paper HOT 1
- NEWS is out of date HOT 1
- Warning message: xmlSAX2Characters: huge text nod HOT 1
- RaMS v 1.4 HOT 1
- Implement DBSCAN/OPTICS as an mz_group option? HOT 1
- mzXML files can have multiple binary encodings HOT 2
- Move data.table to Depends instead of Imports? HOT 1
- Update the package-wide file with proper link to vignettes HOT 1
- Can't read data generated from waters instrument after MSconvert HOT 2
- timeStamp? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rams.