detect gait kinematics features

detectAll(x, plane = NULL, joint = NULL, comp = FALSE, fDict = NULL,
  .envir = parent.frame())

Arguments

x

data.frame which consists (at least) of columns: joint, plane, curve_id, 0,1,2,...,100

plane

a character vector. Only feature matching this plane will be detected. Whatever is specified here should appear in the fDict data.frame. For the default feature definitions, the possible choices are "sag","cor","tra". If NULL (default) all planes are detected.

joint

a character vector. Only feature matching this joint will be detected. If NULL (default) all joints are detected. #' Whatever is specified here should appear in the fDict data.frame. For the default feature definitions, the possible choices are "Pel","Hip","Knee","Ankle","FootProgress". If NULL (default) all planes are detected.

comp

logical. If TRUE the return value will have attr(.,"comp") which gives the clause result of the features.

fDict

a data.frame (at least) with columns fn,joint, and plane, used to decide which features to detect. It should have a similiar format to that generated by makeFDict. If NULL (default) the default dictionary which comes with the package is used.

.envir

an environment to supply. For normal interactive use, this argument can be ignored. But if this function is to be used programmatically, it is possible that the custom made detectors cannot be found by this function. In this case, simply supply the environment which contains the detectors using this argument.

Value

the same as x but augmented with extra columns indicating the detected features.

Details

For individual feature definitions see definitions.

Examples

detectAll(kinematics)
#> # A tibble: 180 x 154 #> curve_id joint side plane ofs `0` `1` `2` `3` `4` `5` #> <int> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 1 Pel L sag 49.0 28.2 28.1 28.1 28.2 28.2 28.2 #> 2 2 Pel R sag 52.0 27.8 27.9 28.0 28.1 28.2 28.4 #> 3 3 Hip L sag 49.0 52.4 52.5 52.6 52.8 52.9 52.9 #> 4 4 Hip R sag 52.0 54.1 55.3 56.6 57.9 59.1 60.2 #> 5 5 Knee L sag 49.0 17.2 19.2 21.6 24.1 26.7 29.0 #> 6 6 Knee R sag 52.0 10.8 13.8 17.4 21.4 25.4 29.2 #> 7 7 Ankle L sag 49.0 - 1.92 - 1.01 0.201 1.65 3.25 4.91 #> 8 8 Ankle R sag 52.0 - 7.27 - 7.13 - 6.39 - 5.09 - 3.36 - 1.38 #> 9 9 FootP~ L sag 49.0 -95.2 -94.3 -93.3 -92.3 -91.5 -90.8 #> 10 10 FootP~ R sag 52.0 -99.3 -97.6 -96.0 -94.7 -93.6 -92.8 #> # ... with 170 more rows, and 143 more variables: `6` <dbl>, `7` <dbl>, #> # `8` <dbl>, `9` <dbl>, `10` <dbl>, `11` <dbl>, `12` <dbl>, `13` <dbl>, #> # `14` <dbl>, `15` <dbl>, `16` <dbl>, `17` <dbl>, `18` <dbl>, `19` <dbl>, #> # `20` <dbl>, `21` <dbl>, `22` <dbl>, `23` <dbl>, `24` <dbl>, `25` <dbl>, #> # `26` <dbl>, `27` <dbl>, `28` <dbl>, `29` <dbl>, `30` <dbl>, `31` <dbl>, #> # `32` <dbl>, `33` <dbl>, `34` <dbl>, `35` <dbl>, `36` <dbl>, `37` <dbl>, #> # `38` <dbl>, `39` <dbl>, `40` <dbl>, `41` <dbl>, `42` <dbl>, `43` <dbl>, #> # `44` <dbl>, `45` <dbl>, `46` <dbl>, `47` <dbl>, `48` <dbl>, `49` <dbl>, #> # `50` <dbl>, `51` <dbl>, `52` <dbl>, `53` <dbl>, `54` <dbl>, `55` <dbl>, #> # `56` <dbl>, `57` <dbl>, `58` <dbl>, `59` <dbl>, `60` <dbl>, `61` <dbl>, #> # `62` <dbl>, `63` <dbl>, `64` <dbl>, `65` <dbl>, `66` <dbl>, `67` <dbl>, #> # `68` <dbl>, `69` <dbl>, `70` <dbl>, `71` <dbl>, `72` <dbl>, `73` <dbl>, #> # `74` <dbl>, `75` <dbl>, `76` <dbl>, `77` <dbl>, `78` <dbl>, `79` <dbl>, #> # `80` <dbl>, `81` <dbl>, `82` <dbl>, `83` <dbl>, `84` <dbl>, `85` <dbl>, #> # `86` <dbl>, `87` <dbl>, `88` <dbl>, `89` <dbl>, `90` <dbl>, `91` <dbl>, #> # `92` <dbl>, `93` <dbl>, `94` <dbl>, `95` <dbl>, `96` <dbl>, `97` <dbl>, #> # `98` <dbl>, `99` <dbl>, `100` <dbl>, AIR <dbl>, DblB <dbl>, DFdec <dbl>, #> # KFxatLdec <dbl>, HFxatICdec <dbl>, ...
detectAll(kinematics, plane="sag")
#> # A tibble: 180 x 138 #> curve_id joint side plane ofs `0` `1` `2` `3` `4` `5` #> <int> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 1 Pel L sag 49.0 28.2 28.1 28.1 28.2 28.2 28.2 #> 2 2 Pel R sag 52.0 27.8 27.9 28.0 28.1 28.2 28.4 #> 3 3 Hip L sag 49.0 52.4 52.5 52.6 52.8 52.9 52.9 #> 4 4 Hip R sag 52.0 54.1 55.3 56.6 57.9 59.1 60.2 #> 5 5 Knee L sag 49.0 17.2 19.2 21.6 24.1 26.7 29.0 #> 6 6 Knee R sag 52.0 10.8 13.8 17.4 21.4 25.4 29.2 #> 7 7 Ankle L sag 49.0 - 1.92 - 1.01 0.201 1.65 3.25 4.91 #> 8 8 Ankle R sag 52.0 - 7.27 - 7.13 - 6.39 - 5.09 - 3.36 - 1.38 #> 9 9 FootP~ L sag 49.0 -95.2 -94.3 -93.3 -92.3 -91.5 -90.8 #> 10 10 FootP~ R sag 52.0 -99.3 -97.6 -96.0 -94.7 -93.6 -92.8 #> # ... with 170 more rows, and 127 more variables: `6` <dbl>, `7` <dbl>, #> # `8` <dbl>, `9` <dbl>, `10` <dbl>, `11` <dbl>, `12` <dbl>, `13` <dbl>, #> # `14` <dbl>, `15` <dbl>, `16` <dbl>, `17` <dbl>, `18` <dbl>, `19` <dbl>, #> # `20` <dbl>, `21` <dbl>, `22` <dbl>, `23` <dbl>, `24` <dbl>, `25` <dbl>, #> # `26` <dbl>, `27` <dbl>, `28` <dbl>, `29` <dbl>, `30` <dbl>, `31` <dbl>, #> # `32` <dbl>, `33` <dbl>, `34` <dbl>, `35` <dbl>, `36` <dbl>, `37` <dbl>, #> # `38` <dbl>, `39` <dbl>, `40` <dbl>, `41` <dbl>, `42` <dbl>, `43` <dbl>, #> # `44` <dbl>, `45` <dbl>, `46` <dbl>, `47` <dbl>, `48` <dbl>, `49` <dbl>, #> # `50` <dbl>, `51` <dbl>, `52` <dbl>, `53` <dbl>, `54` <dbl>, `55` <dbl>, #> # `56` <dbl>, `57` <dbl>, `58` <dbl>, `59` <dbl>, `60` <dbl>, `61` <dbl>, #> # `62` <dbl>, `63` <dbl>, `64` <dbl>, `65` <dbl>, `66` <dbl>, `67` <dbl>, #> # `68` <dbl>, `69` <dbl>, `70` <dbl>, `71` <dbl>, `72` <dbl>, `73` <dbl>, #> # `74` <dbl>, `75` <dbl>, `76` <dbl>, `77` <dbl>, `78` <dbl>, `79` <dbl>, #> # `80` <dbl>, `81` <dbl>, `82` <dbl>, `83` <dbl>, `84` <dbl>, `85` <dbl>, #> # `86` <dbl>, `87` <dbl>, `88` <dbl>, `89` <dbl>, `90` <dbl>, `91` <dbl>, #> # `92` <dbl>, `93` <dbl>, `94` <dbl>, `95` <dbl>, `96` <dbl>, `97` <dbl>, #> # `98` <dbl>, `99` <dbl>, `100` <dbl>, DblB <dbl>, DFdec <dbl>, #> # KFxatLdec <dbl>, HFxatICdec <dbl>, Tiltdec <dbl>, ...
y=detectAll(kinematics, plane="sag", joint="Ankle",comp=T) attr(y,"comp")
#> [[1]] #> # A tibble: 12 x 3 #> curve_id `Cl:mean(0:50)<1sd` DFdec #> <int> <lgl> <dbl> #> 1 7 F 0 #> 2 8 F 0 #> 3 37 T 1.00 #> 4 38 T 1.00 #> 5 67 T 1.00 #> 6 68 F 0 #> 7 97 T 1.00 #> 8 98 F 0 #> 9 127 F 0 #> 10 128 T 1.00 #> 11 157 T 1.00 #> 12 158 F 0 #> #> [[2]] #> # A tibble: 12 x 4 #> curve_id `Cl:diff(20)<-5` `Cl:c(45)<0` Desc2R #> <int> <lgl> <lgl> <dbl> #> 1 7 F F 0 #> 2 8 F F 0 #> 3 37 T T 1.00 #> 4 38 T T 1.00 #> 5 67 T T 1.00 #> 6 68 T F 0 #> 7 97 T T 1.00 #> 8 98 T T 1.00 #> 9 127 T T 1.00 #> 10 128 F F 0 #> 11 157 T T 1.00 #> 12 158 T F 0 #> #> [[3]] #> # A tibble: 12 x 3 #> curve_id `Cl:mean(60:100)>1sd` DFatSwg #> <int> <lgl> <dbl> #> 1 7 F 0 #> 2 8 F 0 #> 3 37 F 0 #> 4 38 F 0 #> 5 67 F 0 #> 6 68 F 0 #> 7 97 F 0 #> 8 98 F 0 #> 9 127 F 0 #> 10 128 F 0 #> 11 157 F 0 #> 12 158 F 0 #> #> [[4]] #> # A tibble: 12 x 3 #> curve_id `Cl:mean(80:100)<1sd` FtD #> <int> <lgl> <dbl> #> 1 7 T 1.00 #> 2 8 F 0 #> 3 37 T 1.00 #> 4 38 T 1.00 #> 5 67 T 1.00 #> 6 68 T 1.00 #> 7 97 T 1.00 #> 8 98 T 1.00 #> 9 127 T 1.00 #> 10 128 T 1.00 #> 11 157 T 1.00 #> 12 158 T 1.00 #> #> [[5]] #> # A tibble: 12 x 5 #> curve_id `Cl:.ROM(20:45)<5` `Cl:.aslope(20:45)<0.1` `Cl:c(45)<0` H2R #> <int> <lgl> <lgl> <lgl> <dbl> #> 1 7 F F F 0 #> 2 8 T T F 0 #> 3 37 F F T 0 #> 4 38 F F T 0 #> 5 67 F F T 0 #> 6 68 F F F 0 #> 7 97 F F T 0 #> 8 98 F F T 0 #> 9 127 F F T 0 #> 10 128 F F F 0 #> 11 157 F F T 0 #> 12 158 F F F 0 #> #> [[6]] #> # A tibble: 12 x 3 #> curve_id `Cl:mean(20:45)>1sd` DFinc #> <int> <lgl> <dbl> #> 1 7 F 0 #> 2 8 T 1.00 #> 3 37 F 0 #> 4 38 F 0 #> 5 67 F 0 #> 6 68 T 1.00 #> 7 97 F 0 #> 8 98 F 0 #> 9 127 F 0 #> 10 128 F 0 #> 11 157 F 0 #> 12 158 F 0 #> #> [[7]] #> # A tibble: 12 x 3 #> curve_id `Cl:max(0:60)>2sd` MaxDFinc #> <int> <lgl> <dbl> #> 1 7 F 0 #> 2 8 F 0 #> 3 37 F 0 #> 4 38 F 0 #> 5 67 F 0 #> 6 68 F 0 #> 7 97 F 0 #> 8 98 F 0 #> 9 127 F 0 #> 10 128 F 0 #> 11 157 F 0 #> 12 158 F 0 #> #> [[8]] #> # A tibble: 12 x 3 #> curve_id `Cl:mean(20)<1sd` PFinc #> <int> <lgl> <dbl> #> 1 7 F 0 #> 2 8 F 0 #> 3 37 T 1.00 #> 4 38 T 1.00 #> 5 67 T 1.00 #> 6 68 F 0 #> 7 97 T 1.00 #> 8 98 T 1.00 #> 9 127 T 1.00 #> 10 128 T 1.00 #> 11 157 T 1.00 #> 12 158 F 0 #> #> [[9]] #> # A tibble: 12 x 3 #> curve_id `Cl:c(100)<2sd` iPP #> <int> <lgl> <dbl> #> 1 7 T 1.00 #> 2 8 F 0 #> 3 37 F 0 #> 4 38 F 0 #> 5 67 F 0 #> 6 68 F 0 #> 7 97 F 0 #> 8 98 F 0 #> 9 127 F 0 #> 10 128 F 0 #> 11 157 F 0 #> 12 158 F 0 #> #> [[10]] #> # A tibble: 12 x 3 #> curve_id `Cl:diff(0)>0` N1R #> <int> <lgl> <dbl> #> 1 7 T 1.00 #> 2 8 T 1.00 #> 3 37 T 1.00 #> 4 38 T 1.00 #> 5 67 T 1.00 #> 6 68 T 1.00 #> 7 97 T 1.00 #> 8 98 T 1.00 #> 9 127 T 1.00 #> 10 128 T 1.00 #> 11 157 T 1.00 #> 12 158 T 1.00 #> #> [[11]] #> # A tibble: 12 x 5 #> curve_id `Cl:.npeak(5:20)>0` `Cl:.slope(20:45)<0` `Cl:corr(0:60)>=0.8` S2R #> <int> <lgl> <lgl> <lgl> <dbl> #> 1 7 T T T 1.00 #> 2 8 F T F 0 #> 3 37 T T T 1.00 #> 4 38 T T T 1.00 #> 5 67 T T T 1.00 #> 6 68 T T T 1.00 #> 7 97 T T T 1.00 #> 8 98 T T T 1.00 #> 9 127 T T T 1.00 #> 10 128 T T T 1.00 #> 11 157 T T T 1.00 #> 12 158 T T T 1.00 #>