The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
actisensorlog processes SensorLog and SensorLogger exports.
The package focuses on timestamp normalization, distance calculations,
duplicate-time checks, and daily summaries.
Core entry points:
acti_process_sensorlog() for duplicate checking,
home-distance calculations, and timezone handlingacti_sensorlog_process_time() for parsing SensorLog
timestampsacti_minute_sensorlog() and
acti_summarize_sensorlog() for minute and daily
summariesYou can install actisensorlog from GitHub with:
# install.packages("remotes")
remotes::install_github("jhuwit/actisensorlog")library(actisensorlog)
sensorlog <- suppressMessages(
actiread::acti_read_sensorlog(actiread::acti_example_sensorlog_file())
)
processed_sensorlog <- acti_process_sensorlog(
sensorlog,
lat = 39.3,
lon = -76.6,
expected_timezone = "America/New_York",
check_data = FALSE
)
minute_sensorlog <- acti_minute_sensorlog(processed_sensorlog)
summary_sensorlog <- acti_summarize_sensorlog(processed_sensorlog)The SensorLog example gains distance,
distance_traveled, and is_within_home
fields:
head(processed_sensorlog)
#> # A tibble: 6 × 19
#> file time index timestamp lat lon altitude speed
#> <chr> <dttm> <dbl> <dttm> <dbl> <dbl> <dbl> <dbl>
#> 1 /var… 2025-03-11 18:44:11 1 2025-03-11 18:44:07 39.3 -76.6 46.3 -1
#> 2 /var… 2025-03-11 18:44:11 2 2025-03-11 18:44:07 39.3 -76.6 46.3 -1
#> 3 /var… 2025-03-11 18:44:11 3 2025-03-11 18:44:07 39.3 -76.6 46.3 -1
#> 4 /var… 2025-03-11 18:44:12 4 2025-03-11 18:44:07 39.3 -76.6 46.3 -1
#> 5 /var… 2025-03-11 18:44:12 5 2025-03-11 18:44:07 39.3 -76.6 46.3 -1
#> 6 /var… 2025-03-11 18:44:12 6 2025-03-11 18:44:07 39.3 -76.6 46.3 -1
#> # ℹ 11 more variables: speed_accuracy <dbl>, accel_X <dbl>, accel_Y <dbl>,
#> # accel_Z <dbl>, lat_zero <lgl>, lon_zero <lgl>, distance <dbl>,
#> # is_within_home <lgl>, distance_traveled <dbl>, timezone_estimated <chr>,
#> # char_time <chr>The minute-level view fills missing minutes between observations:
head(minute_sensorlog)
#> # A tibble: 6 × 16
#> time max_speed lat lon speed accel_X accel_Y accel_Z
#> <dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 2025-03-11 18:44:00 -1 39.3 -76.6 -1 -0.0178 0.964 0.0182
#> 2 2025-03-11 18:45:00 -1 39.3 -76.6 -1 -0.0665 1.01 0.0577
#> 3 2025-03-11 18:46:00 -1 39.3 -76.6 -1 -0.0547 1.00 0.0250
#> 4 2025-03-11 18:47:00 -1 39.3 -76.6 -1 -0.0843 1.01 0.0450
#> 5 2025-03-11 18:48:00 -1 39.3 -76.6 -1 -0.0808 1.01 0.0468
#> 6 2025-03-11 18:49:00 -1 39.3 -76.6 -1 -0.0901 1.01 0.0411
#> # ℹ 8 more variables: distance <dbl>, is_within_home <lgl>,
#> # distance_traveled <dbl>, vm <dbl>, enmo <dbl>, lat_zero <lgl>,
#> # lon_zero <lgl>, in_sensorlog <lgl>The daily summary collapses the data to a single row per date:
summary_sensorlog
#> # A tibble: 1 × 11
#> date n_minutes_with_distance sum_distance max_distance
#> <date> <int> <dbl> <dbl>
#> 1 2025-03-11 12 10960. 913.
#> # ℹ 7 more variables: n_minutes_with_distance_traveled <int>,
#> # sum_distance_traveled <dbl>, mean_distance_traveled <dbl>,
#> # n_distance_traveled <int>, time_within_home <int>, time_outside_home <int>,
#> # time_missing_home <int>sensorlogger <- suppressMessages(
actiread::acti_read_sensorlogger_location(
actiread::acti_example_sensorlogger_location_file()
)
)
processed_sensorlogger <- acti_process_sensorlog(
sensorlogger,
lat = 39.3,
lon = -76.6,
expected_timezone = "America/New_York"
)
#> No duplicate combinations found of: time, seconds_elapsed, altitude, speed_accuracy, bearing_accuracy, lat, altitude_above_mean_sea_level, bearing, horizontal_accuracy, ... and 6 other variables
minute_sensorlogger <- acti_minute_sensorlog(processed_sensorlogger)
summary_sensorlogger <- acti_summarize_sensorlog(processed_sensorlogger)The packaged SensorLogger location example follows the same flow:
head(processed_sensorlogger)
#> # A tibble: 6 × 21
#> time seconds_elapsed altitude speed_accuracy bearing_accuracy
#> <dttm> <dbl> <dbl> <dbl> <dbl>
#> 1 2025-03-11 17:44:51 -6.71 7.37 -1 -1
#> 2 2025-03-11 17:44:58 0.0255 7.37 -1 -1
#> 3 2025-03-11 17:44:58 0.0322 7.37 -1 -1
#> 4 2025-03-11 17:44:58 0.0660 7.37 -1 -1
#> 5 2025-03-11 17:45:03 5.36 7.37 -1 -1
#> 6 2025-03-11 17:45:04 6.05 7.37 -1 -1
#> # ℹ 16 more variables: lat <dbl>, altitude_above_mean_sea_level <dbl>,
#> # bearing <dbl>, horizontal_accuracy <dbl>, vertical_accuracy <dbl>,
#> # lon <dbl>, speed <dbl>, lat_zero <lgl>, lon_zero <lgl>, file <chr>,
#> # cat_type_sensor <chr>, distance <dbl>, is_within_home <lgl>,
#> # distance_traveled <dbl>, timezone_estimated <chr>, char_time <chr>head(minute_sensorlogger)
#> # A tibble: 6 × 16
#> time max_speed lat lon speed accel_X accel_Y accel_Z
#> <dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 2025-03-11 17:44:00 -1 39.3 -76.6 -1 NA NA NA
#> 2 2025-03-11 17:45:00 3.04 39.3 -76.6 0.265 NA NA NA
#> 3 2025-03-11 17:46:00 -1 39.3 -76.6 -1 NA NA NA
#> 4 2025-03-11 17:47:00 NA NA NA NA NA NA NA
#> 5 2025-03-11 17:48:00 -1 39.3 -76.6 -1 NA NA NA
#> 6 2025-03-11 17:49:00 -1 39.3 -76.6 -1 NA NA NA
#> # ℹ 8 more variables: distance <dbl>, is_within_home <lgl>,
#> # distance_traveled <dbl>, vm <dbl>, enmo <dbl>, lat_zero <lgl>,
#> # lon_zero <lgl>, in_sensorlog <lgl>summary_sensorlogger
#> # A tibble: 1 × 11
#> date n_minutes_with_distance sum_distance max_distance
#> <date> <int> <dbl> <dbl>
#> 1 2025-03-11 71 64169. 924.
#> # ℹ 7 more variables: n_minutes_with_distance_traveled <int>,
#> # sum_distance_traveled <dbl>, mean_distance_traveled <dbl>,
#> # n_distance_traveled <int>, time_within_home <int>, time_outside_home <int>,
#> # time_missing_home <int>These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.