evprof
Electric Vehicle Charging Sessions Profiling and Modelling
v1.2.0
·
Dec 23, 2025
·
GPL-3
Description
Tools for modelling electric vehicle charging sessions into generic groups with similar connection patterns called "user profiles", using Gaussian Mixture Models clustering. The clustering and profiling methodology is described in Cañigueral and Meléndez (2021, ISBN:0142-0615) <doi:10.1016/j.ijepes.2021.107195>.
Downloads
577
Last 30 days
6562nd
577
Last 90 days
577
Last year
CRAN Check Status
2
ERROR
12
OK
Show all 14 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | OK |
| r-devel-linux-x86_64-debian-gcc | ERROR |
| r-devel-linux-x86_64-fedora-clang | OK |
| r-devel-linux-x86_64-fedora-gcc | OK |
| r-devel-macos-arm64 | OK |
| r-devel-windows-x86_64 | OK |
| r-oldrel-macos-arm64 | OK |
| r-oldrel-macos-x86_64 | OK |
| r-oldrel-windows-x86_64 | OK |
| r-patched-linux-x86_64 | OK |
| r-release-linux-x86_64 | ERROR |
| r-release-macos-arm64 | OK |
| r-release-macos-x86_64 | OK |
| r-release-windows-x86_64 | OK |
Check details (16 non-OK)
OK
r-devel-linux-x86_64-debian-clang
*
ERROR
r-devel-linux-x86_64-debian-gcc
examples
Running examples in ‘evprof-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: cluster_sessions
> ### Title: Cluster sessions with 'mclust' package
> ### Aliases: cluster_sessions
>
> ### ** Examples
>
> library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
>
> # Select working day sessions (`Timecycle == 1`) that
> # disconnect the same day (`Disconnection == 1`)
> sessions_day <- california_ev_sessions %>%
+ divide_by_timecycle(
+ months_cycles = list(1:12), # Not differentiation between months
+ wdays_cycles = list(1:5, 6:7) # Differentiation between workdays/weekends
+ ) %>%
+ divide_by_disconnection(
+ division_hour = 10, start = 3
+ ) %>%
+ filter(
+ Disconnection == 1, Timecycle == 1
+ ) %>%
+ sample_frac(0.05)
The considered time-cycles are:
|Timecycle |months |wdays |
|:---------|:------|:-----|
|1 |1-12 |1-5 |
|2 |1-12 |6-7 |
Error in NextMethod(.Generic) :
NAs are not allowed in subscripted assignments
Calls: %>% ... convert_time_dt_to_plot_dt -> [<- -> [<-.Date -> .Date -> NextMethod
Execution halted
ERROR
r-devel-linux-x86_64-debian-gcc
tests
Running ‘spelling.R’ [0s/0s]
Running ‘testthat.R’ [15s/19s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> # This file is part of the standard setup for testthat.
> # It is recommended that you do not modify it.
> #
> # Where should you do additional test configuration?
> # Learn more about the roles of various files in:
> # * https://r-pkgs.org/tests.html
> # * https://testthat.r-lib.org/reference/test_package.html#special-files
>
> library(testthat)
> library(evprof)
>
> test_check("evprof")
Saving _problems/test-exploration-36.R
Saving _problems/test-exploration-45.R
Saving _problems/test-exploration-66.R
Saving _problems/test-preprocessing-17.R
Saving _problems/test-preprocessing-36.R
Trying with MinPts = 200 and eps = 0.66
Too much nosie (4 %). Consider a higher eps.
Trying with MinPts = 200 and eps = 0.99
Solution found: MinPts= 200 , eps = 0.99
Trying with MinPts = 200 and eps = 3.3
Too much nosie (18 %). Consider a higher eps.
Trying with MinPts = 200 and eps = 4.95
Solution found: MinPts= 200 , eps = 4.95
Trying with MinPts = 200 and eps = 0.66
Too much nosie (4 %). Consider a higher eps.
Trying with MinPts = 200 and eps = 0.99
Solution found: MinPts= 200 , eps = 0.99
Trying with MinPts = 200 and eps = 0.66
Too much nosie (4 %). Consider a higher eps.
Trying with MinPts = 200 and eps = 0.99
Solution found: MinPts= 200 , eps = 0.99
The considered time-cycles are:
|Timecycle |months |wdays |
|:---------|:------|:-----|
|1 |1-12 |1-5 |
|2 |1-12 |6-7 |
[ FAIL 5 | WARN 0 | SKIP 4 | PASS 34 ]
══ Skipped tests (4) ═══════════════════════════════════════════════════════════
• On CRAN (4): 'test-clustering.R:16:3', 'test-clustering.R:26:3',
'test-modelling.R:104:3', 'test-modelling.R:135:3'
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-exploration.R:34:3'): Points plot ──────────────────────────────
Error in `NextMethod(.Generic)`: NAs are not allowed in subscripted assignments
Backtrace:
▆
1. ├─testthat::expect_true(...) at test-exploration.R:34:3
2. │ └─testthat::quasi_label(enquo(object), label)
3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
4. ├─ggplot2::is_ggplot(plot_points(sessions, log = FALSE))
5. │ └─S7::S7_inherits(x, class_ggplot)
6. └─evprof::plot_points(sessions, log = FALSE)
7. └─evprof:::convert_time_dt_to_plot_dt(...)
8. ├─base::`[<-`(`*tmp*`, next_day_idx, value = `<date>`)
9. ├─base::`[<-.Date`(`*tmp*`, next_day_idx, value = `<date>`)
10. │ └─base::.Date(NextMethod(.Generic), oldClass(x))
11. └─base::NextMethod(.Generic)
── Error ('test-exploration.R:43:3'): Density 2D plots ─────────────────────────
Error in `NextMethod(.Generic)`: NAs are not allowed in subscripted assignments
Backtrace:
▆
1. ├─testthat::expect_true(...) at test-exploration.R:43:3
2. │ └─testthat::quasi_label(enquo(object), label)
3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
4. ├─ggplot2::is_ggplot(plot_density_2D(sessions, by = "wday", log = FALSE))
5. │ └─S7::S7_inherits(x, class_ggplot)
6. └─evprof::plot_density_2D(sessions, by = "wday", log = FALSE)
7. └─evprof:::convert_time_dt_to_plot_dt(...)
8. ├─base::`[<-`(`*tmp*`, next_day_idx, value = `<date>`)
9. ├─base::`[<-.Date`(`*tmp*`, next_day_idx, value = `<date>`)
10. │ └─base::.Date(NextMethod(.Generic), oldClass(x))
11. └─base::NextMethod(.Generic)
── Error ('test-exploration.R:64:3'): Density 3D plots ─────────────────────────
Error in `NextMethod(.Generic)`: NAs are not allowed in subscripted assignments
Backtrace:
▆
1. ├─testthat::expect_true(...) at test-exploration.R:64:3
2. │ └─testthat::quasi_label(enquo(object), label)
3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
4. ├─"plotly" %in% class(plot_density_3D(sessions, log = FALSE))
5. └─evprof::plot_density_3D(sessions, log = FALSE)
6. └─evprof:::convert_time_dt_to_plot_num(...)
7. └─evprof:::convert_time_dt_to_plot_dt(time_dt, start)
8. ├─base::`[<-`(`*tmp*`, next_day_idx, value = `<date>`)
9. ├─base::`[<-.Date`(`*tmp*`, next_day_idx, value = `<date>`)
10. │ └─base::.Date(NextMethod(.Generic), oldClass(x))
11. └─base::NextMethod(.Generic)
── Error ('test-preprocessing.R:17:3'): The outliers are removed by cutting ────
Error in `NextMethod(.Generic)`: NAs are not allowed in subscripted assignments
Backtrace:
▆
1. └─evprof::cut_sessions(sessions, connection_start_max = 24, log = FALSE) at test-preprocessing.R:17:3
2. └─evprof:::convert_time_dt_to_plot_num(...)
3. └─evprof:::convert_time_dt_to_plot_dt(time_dt, start)
4. ├─base::`[<-`(`*tmp*`, next_day_idx, value = `<date>`)
5. ├─base::`[<-.Date`(`*tmp*`, next_day_idx, value = `<date>`)
6. │ └─base::.Date(NextMethod(.Generic), oldClass(x))
7. └─base::NextMethod(.Generic)
── Error ('test-preprocessing.R:34:3'): kNN plots ──────────────────────────────
Error in `NextMethod(.Generic)`: NAs are not allowed in subscripted assignments
Backtrace:
▆
1. ├─testthat::expect_true(...) at test-preprocessing.R:34:3
2. │ └─testthat::quasi_label(enquo(object), label)
3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
4. ├─ggplot2::is_ggplot(plot_kNNdist(sessions, log = FALSE))
5. │ └─S7::S7_inherits(x, class_ggplot)
6. └─evprof::plot_kNNdist(sessions, log = FALSE)
7. └─evprof:::convert_time_dt_to_plot_num(...)
8. └─evprof:::convert_time_dt_to_plot_dt(time_dt, start)
9. ├─base::`[<-`(`*tmp*`, next_day_idx, value = `<date>`)
10. ├─base::`[<-.Date`(`*tmp*`, next_day_idx, value = `<date>`)
11. │ └─base::.Date(NextMethod(.Generic), oldClass(x))
12. └─base::NextMethod(.Generic)
[ FAIL 5 | WARN 0 | SKIP 4 | PASS 34 ]
Error:
! Test failures.
Execution halted
OK
r-devel-linux-x86_64-fedora-clang
*
OK
r-devel-linux-x86_64-fedora-gcc
*
OK
r-devel-macos-arm64
*
OK
r-devel-windows-x86_64
*
OK
r-oldrel-macos-arm64
*
OK
r-oldrel-macos-x86_64
*
OK
r-oldrel-windows-x86_64
*
OK
r-patched-linux-x86_64
*
ERROR
r-release-linux-x86_64
examples
Running examples in ‘evprof-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: cut_sessions
> ### Title: Cut outliers based on minimum and maximum limits of
> ### ConnectionHours and ConnectionStartDateTime variables
> ### Aliases: cut_sessions
>
> ### ** Examples
>
> library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
> # Localize the outlying sessions above a certain threshold
> california_ev_sessions %>%
+ sample_frac(0.05) %>%
+ plot_points(start = 3)
Warning: Removed 3 rows containing missing values or values outside the scale range
(`geom_point()`).
>
> # For example sessions that start before 5 AM or that are
> # longer than 20 hours are considered outliers
> sessions_clean <- california_ev_sessions %>%
+ sample_frac(0.05) %>%
+ cut_sessions(
+ start = 3,
+ connection_hours_max = 20,
+ connection_start_min = 5
+ )
> plot_points(sessions_clean, start = 3)
Error in if (any(hour(time_dt) < start)) { :
missing value where TRUE/FALSE needed
Calls: plot_points -> convert_time_dt_to_plot_dt
Execution halted
ERROR
r-release-linux-x86_64
tests
Running ‘spelling.R’ [0s/0s]
Running ‘testthat.R’ [25s/31s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> # This file is part of the standard setup for testthat.
> # It is recommended that you do not modify it.
> #
> # Where should you do additional test configuration?
> # Learn more about the roles of various files in:
> # * https://r-pkgs.org/tests.html
> # * https://testthat.r-lib.org/reference/test_package.html#special-files
>
> library(testthat)
> library(evprof)
>
> test_check("evprof")
Saving _problems/test-preprocessing-36.R
Trying with MinPts = 200 and eps = 0.66
Too much nosie (4 %). Consider a higher eps.
Trying with MinPts = 200 and eps = 0.99
Solution found: MinPts= 200 , eps = 0.99
Trying with MinPts = 200 and eps = 3.3
Too much nosie (18 %). Consider a higher eps.
Trying with MinPts = 200 and eps = 4.95
Solution found: MinPts= 200 , eps = 4.95
Trying with MinPts = 200 and eps = 0.66
Too much nosie (4 %). Consider a higher eps.
Trying with MinPts = 200 and eps = 0.99
Solution found: MinPts= 200 , eps = 0.99
Trying with MinPts = 200 and eps = 0.66
Too much nosie (4 %). Consider a higher eps.
Trying with MinPts = 200 and eps = 0.99
Solution found: MinPts= 200 , eps = 0.99
The considered time-cycles are:
|Timecycle |months |wdays |
|:---------|:------|:-----|
|1 |1-12 |1-5 |
|2 |1-12 |6-7 |
[ FAIL 1 | WARN 0 | SKIP 4 | PASS 48 ]
══ Skipped tests (4) ═══════════════════════════════════════════════════════════
• On CRAN (4): 'test-clustering.R:16:3', 'test-clustering.R:26:3',
'test-modelling.R:104:3', 'test-modelling.R:135:3'
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-preprocessing.R:34:3'): kNN plots ──────────────────────────────
Error in `kNN(x, k, sort = TRUE, ...)`: data/distances cannot contain NAs for kNN (with kd-tree)!
Backtrace:
▆
1. ├─testthat::expect_true(...) at test-preprocessing.R:34:3
2. │ └─testthat::quasi_label(enquo(object), label)
3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
4. ├─ggplot2::is_ggplot(plot_kNNdist(sessions, log = FALSE))
5. │ └─S7::S7_inherits(x, class_ggplot)
6. ├─evprof::plot_kNNdist(sessions, log = FALSE)
7. │ ├─ggplot2::ggplot(...)
8. │ └─tibble::tibble(...)
9. │ └─tibble:::tibble_quos(xs, .rows, .name_repair)
10. │ └─rlang::eval_tidy(xs[[j]], mask)
11. ├─base::sort(...)
12. └─dbscan::kNNdist(...)
13. └─dbscan::kNN(x, k, sort = TRUE, ...)
[ FAIL 1 | WARN 0 | SKIP 4 | PASS 48 ]
Error:
! Test failures.
Execution halted
OK
r-release-macos-arm64
*
OK
r-release-macos-x86_64
*
OK
r-release-windows-x86_64
*
Check History
ERROR 12 OK · 0 NOTE · 0 WARNING · 2 ERROR · 0 FAILURE Mar 9, 2026
ERROR
r-devel-linux-x86_64-debian-gcc
examples
Running examples in ‘evprof-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: cluster_sessions
> ### Title: Cluster sessions with 'mclust' package
> ### Aliases: cluster_sessions
>
> ### ** Examples
>
> library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
>
> # Select
ERROR
r-release-linux-x86_64
examples
Running examples in ‘evprof-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: cut_sessions
> ### Title: Cut outliers based on minimum and maximum limits of
> ### ConnectionHours and ConnectionStartDateTime variables
> ### Aliases: cut_sessions
>
> ### ** Examples
>
> library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘pac
Dependency Network
Version History
new
1.2.0
Mar 9, 2026