fc_locations_transform: Transform event locations

Description Usage Arguments Value References Examples

View source: R/fc_locations_transform.R

Description

This function transforms the Wyscout event data locations. By default, the data provided is on a range of 0 - 100%. Thus, an x-y coordinate pair of (50, 50) corresponds to midfield.

Usage

1
fc_locations_transform(data, x, y, dim = c(105, 70), units = "meters")

Arguments

data

A data frame with event location data.

x

A character vector identifying the variables for the x coordinate locations in data.

y

A character vector identifying the variables for the y coordinate locations in data.

dim

A numeric vector of length two giving the dimensions of how to transform the pitch. The x-dimension should be the first component.

units

A character vector that provides units for the pitch dimensions. Use "percent" for when dim = c(100, 100).

Value

A tidy tibble with x and y coordinates transformed according to dim. The resulting tibble will have "pitch_dimensions" and "units" attributes. These will be added or modified depending on if they exist for data.

References

Pappalardo, L., Cintia, P., Rossi, A. et al. A public data set of spatio-temporal match events in soccer competitions. Sci Data 6, 236 (2019). https://doi.org/10.1038/s41597-019-0247-7

All public Wyscout data is available at https://figshare.com/collections/Soccer_match_event_dataset/4415000/2

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# load dplyr for examples
library(dplyr)

# read event data given in package
file_path <- system.file("extdata", "events_england.json", package = "scoutr")
events <- fc_read_events(file_path)

result <- events %>%
  select(event_sec:end_y) %>%
  fc_locations_transform(x = c("start_x", "end_x"), y = c("start_y", "end_y"))

# verify attributes
attr(result, "pitch_dimensions")
attr(result, "units")

# transform to meters, then transform back
events %>%
  select(event_sec:end_y) %>%
  fc_locations_transform(x = c("start_x", "end_x"),
                         y = c("start_y", "end_y")) %>%
  fc_locations_transform(x = c("start_x", "end_x"),
                         y = c("start_y", "end_y"),
                         dim = c(100, 100), units = "percent")

shawnsanto/scoutr documentation built on Feb. 27, 2021, 1:02 p.m.