-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path020_Marking_of_topological_relation_‘inside_a_mass’.qmd
113 lines (100 loc) · 3.85 KB
/
020_Marking_of_topological_relation_‘inside_a_mass’.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
title: Marking of topological relation ‘inside a mass’
author: Asya Alekseeva
date: 'Last update: `r lubridate::make_datetime(year = 2024, month = 2, day = 26)`'
output:
html_document:
number_sections: false
anchor_sections: true
pandoc_args: --shift-heading-level-by=-1
---
```{r, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning=FALSE, fig.width = 9.5)
library(tidyverse)
library(lingtypology)
read_csv('data/database.csv', show_col_types = FALSE) |>
filter(feature_id == 20) ->
db
read_csv('data/villages.csv') |>
filter(!(village %in% c('Kazankulak', 'Novyy Borch', 'Vrush', 'Aran', 'Khnyukh'))) ->
villages
villages |>
filter(!(village %in% c('Tsudik', 'Borch'))) ->
villages4map
```
We elicited the context ‘There are a lot of fish in the water’. The map shows the case marking on the noun ‘water’. The attested variants include: *-a* / *-e* / ZERO (*xij-e* in Kina, *xid-a* / *šid-a* in Khnov and *xi* in Kala), *-xde* / *-šde* (*xidi-xde* / *xidi-šde* in Kiche and *xidɨ-xde* / *xidɨ-šde* in Kufa), *-kʲ* / *-k* (elsewhere, various forms: *xidɨ-k*, *xi-k*, *xiji-kʲ*, etc) and *-xʲ* (attested with only one consultant, in Kufa). The full forms of the noun are given in brackets. While the oblique stems may vary across villages, these differences are not considered in this particular feature. For variation in oblique stem formation, see @feature.
##
::: {.panel-tabset}
### Map
```{r}
db |>
filter(!is.na(value),
value != 'NO DATA') |>
mutate(value = str_split(value, ' ; ')) |>
unnest_longer(value) |>
distinct(settlement, value) |>
mutate(n = 1) |>
pivot_wider(names_from = value, values_from = n, values_fill = 0) |>
left_join(villages[,c('village', 'lat', 'lon')], c('settlement' = 'village')) |>
mutate(language = 'Rutul') ->
for_map
if(length(for_map) == 5){
map.feature(languages = 'Rutul',
latitude = villages4map$lat,
longitude = villages4map$lon,
label = villages4map$village,
label.position = 'top',
label.hide = FALSE,
width = 10,
color = 'gray',
tile = 'OpenStreetMap.HOT',
opacity = 0.4) |>
map.feature(languages = for_map$language,
latitude = for_map$lat,
longitude = for_map$lon,
label = for_map$settlement,
label.position = 'top',
label.hide = FALSE,
width = 10,
tile = 'OpenStreetMap.HOT',
features = colnames(for_map)[2],
pipe.data = _)
} else {
map.feature(languages = 'Rutul',
latitude = villages4map$lat,
longitude = villages4map$lon,
label = villages4map$village,
label.position = 'top',
label.hide = FALSE,
width = 10,
color = 'gray',
tile = 'OpenStreetMap.HOT',
opacity = 0.4) |>
map.feature(languages = for_map$language,
latitude = for_map$lat,
longitude = for_map$lon,
minichart.data = for_map |> select(-settlement, -lat, -lon, -language),
minichart = 'pie',
width = 3,
tile = 'OpenStreetMap.HOT',
pipe.data = _)
}
```
### Data
```{r}
db |>
select(settlement, value, stimuli, answer, collected) |>
DT::datatable(class = 'cell-border stripe',
rownames = FALSE,
filter = 'top',
extensions = 'Buttons',
options = list(pageLength = 42,
autoWidth = TRUE,
info = FALSE,
dom = 'fBltp',
buttons = list(list(extend = 'collection',
buttons = c('csv', 'excel', 'pdf'),
text = '<i class="fas fa-download"></i>')),
paginate = TRUE))
```
:::