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.
It is possible to transform the coordinates of your spline data from
cartesian to polar and vice versa, with transform_coord()
.
Let’s attach the package rticulate
and load the data set
tongue
.
library(rticulate)
data(tongue)
tongue
#> # A tibble: 3,612 × 28
#> speaker seconds rec_date prompt label TT_displacement TT_velocity
#> <fct> <dbl> <fct> <fct> <fct> <dbl> <dbl>
#> 1 it01 1.31 29/11/2016 15:10:57 Dico p… max_… 67.1 36.6
#> 2 it01 1.20 29/11/2016 15:11:03 Dico p… max_… 77.9 -7.73
#> 3 it01 1.08 29/11/2016 15:11:25 Dico p… max_… 65.9 21.1
#> 4 it01 1.12 29/11/2016 15:11:35 Dico p… max_… 64.4 8.76
#> 5 it01 1.42 29/11/2016 15:11:57 Dico p… max_… 76.9 -4.72
#> 6 it01 1.35 29/11/2016 15:12:53 Dico p… max_… 78.1 -5.68
#> 7 it01 1.07 29/11/2016 15:13:44 Dico p… max_… 69.9 -40.0
#> 8 it01 1.17 29/11/2016 15:13:49 Dico p… max_… 78.0 -7.31
#> 9 it01 1.28 29/11/2016 15:14:11 Dico p… max_… 67.1 34.5
#> 10 it01 1.10 29/11/2016 15:14:22 Dico p… max_… 75.9 -23.5
#> # ℹ 3,602 more rows
#> # ℹ 21 more variables: TT_abs_velocity <dbl>, TD_displacement <dbl>,
#> # TD_velocity <dbl>, TD_abs_velocity <dbl>, TR_displacement <dbl>,
#> # TR_velocity <dbl>, TR_abs_velocity <dbl>, fan_line <int>, X <dbl>, Y <dbl>,
#> # word <fct>, item <dbl>, ipa <fct>, c1 <fct>, c1_phonation <fct>,
#> # vowel <fct>, anteropost <fct>, height <fct>, c2 <fct>, c2_phonation <fct>,
#> # c2_place <fct>
Now let’s convert the cartesian coordinates to polar.
transform_coord()
converts to polar coordinates by default.
Your data set must contain columns named X
and
Y
with, respectively, the x and y
coordinates (if the columns are named differently, you will have to
rename them). The function extracts xy
data from two fan
lines (the defaults are 10
, and 25
), and it
uses these data to find the origin. By default, a column named
fan_line
is used for the fan lines number, but it can be
supplied by the user with the argument fan_line_col
as a
string.
If you have imported data using read_aaa()
, the defaults
will work, so you can just use
transform_coord(your-data)
.
polar <- tongue %>%
filter(speaker == "it01") %>%
transform_coord()
#> The origin is x = 14.3901267816422, y = -65.2315420525847.
The function returns a data set with two new columns:
radius
and theta
. It also prints the
calculated origin.
If you get an error relating to lm.fit
, try to change
the fan_lines
to values different from the default.
We can now plot the contours using polar coordinates in a cartesian system. Notice that the tip of the tongue is on the left (rather than the right, as in the original data).
polar %>%
ggplot(aes(angle, radius, colour = c2_place)) +
geom_point() +
scale_colour_discrete(name = "Place of C2") +
theme(legend.position = "top")
#> Warning: Removed 264 rows containing missing values or values outside the scale range
#> (`geom_point()`).
Plotting in polar coordinates gives a sense of the actual shape of the tongue, but it is a bit trickier and it does not look very nice… (the tip is again on the left).
polar %>%
ggplot(aes(angle, radius, colour = c2_place)) +
geom_point(alpha = 0.5) +
scale_colour_discrete(name = "Place of C2") +
coord_polar(start = pi) +
xlim(min(polar$angle) - pi / 2, max(polar$angle) + pi / 2) +
ylim(0, max(polar$radius)) +
theme_void() +
theme(legend.position = "top")
#> Warning: Removed 264 rows containing missing values or values outside the scale range
#> (`geom_point()`).
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.