Comments (2)
This is actually a difference between tidytable
and dplyr
/dtplyr
. You can't create columns on the fly in group_by()
. Instead you'll have to use mutate()
first.
suppressMessages(library(tidytable))
suppressMessages(library(lubridate))
time <- "2023-10-04 9:59:58 AM"
x <- as.POSIXct(time)
timestamp <- c(format(seq(x, by="3 min", length.out=7), "%Y-%m-%d %H:%M:%S"))
len <- length(timestamp)
value <- seq(from = 1, to = 10, length.out = len)
df <- data.table(timestamp = timestamp,
value = value)
df$timestamp <- as.POSIXct(df$timestamp)
df %>%
mutate(interval = ceiling_date(timestamp, "15 minutes")) %>%
group_by(interval) %>%
summarise(average_value = mean(value))
#> # A tidytable: 3 × 2
#> interval average_value
#> <dttm> <dbl>
#> 1 2023-10-04 10:00:00 1
#> 2 2023-10-04 10:15:00 5.5
#> 3 2023-10-04 10:30:00 10
Unlike dplyr
you can use tidyselect
helpers (like where()
/starts_with()
/ends_with()
) inside group_by()
..
df <- tidytable(chr1 = c("a", "a", "b"),
chr2 = c("a", "a", "b"),
vals = 1:3)
df %>%
group_by(where(is.character)) %>%
summarize(mean_vals = mean(vals))
#> # A tidytable: 2 × 3
#> # Groups: chr1
#> chr1 chr2 mean_vals
#> <chr> <chr> <dbl>
#> 1 a a 1.5
#> 2 b b 3
I made this as a design decision a loooong time ago so unfortunately I can't change it now, even though it does make tidytable
operate slightly differently than dplyr
.
from tidytable.
Thanks for the info
from tidytable.
Related Issues (20)
- `distinct` not working with lists HOT 2
- using `pick()` inside `count()` leads to an unhelpful error HOT 5
- deprecated notation HOT 1
- Bug: unnest() HOT 2
- Failure with dev glue HOT 3
- Release v0.11.0 HOT 1
- When two tidytables are subtracted, the class `tidytable` gets lost on the way. HOT 2
- weird error using testthat HOT 2
- exposing list_flatten HOT 1
- summarize with across behaves in a strange way and gives an error when I use lapply inside
- Renaming in `group_by()` can lead to grouping by nonexistent columns
- ifelse and if_else HOT 1
- pmap is not working for data frames HOT 1
- Error "mutate_rowwise()" several columns. HOT 2
- Group_by bug with purrr::reduce HOT 4
- pmap() doesn't name list elements using existing names HOT 2
- `tidytable` objects are not printed after loading `quarto` HOT 4
- `group_by` + equality `filter` on column with `NA` values introduces `NA` rows HOT 2
- Allow paged printing in `rmarkdown`
- Release v0.11.1
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 tidytable.