Piping and dplyr

Piping allows us to break down complex tasks into manageable chunks that can be written and tested one after another. There are several powerful commands in the tidyverse as part of the dplyr package that can help us group, filter, select, mutate and summarise datasets. With this small set of commands we can use piping to convert massive datasets into simple and useful results.

Using the pipe %>% command, we can feed the results from one command into the next command making for reusable and easy to read code.

how piping works
Note

The pipe command we are using %>% is from the magrittr package which is installed alongside the tidyverse. Recently R introduced another pipe |> which offers very similar functionality and tutorials online might use either. The examples below use the %>% pipe.

Let’s look at an example of using the pipe on the PISA_2022 table to calculate the best performing OECD countries for maths PV1MATH by gender ST004D01T:

1PISA_2022 %>%
2  filter(OECD == "Yes") %>%
3  group_by(CNT, ST004D01T) %>%
4  summarise(mean_maths = mean(PV1MATH, na.rm=TRUE),
            sd_maths = sd(PV1MATH, na.rm=TRUE),
            students = n()) %>%
5  filter(!is.na(ST004D01T)) %>%
6  arrange(desc(mean_maths))
1
line 1 passes the whole PISA_2022 dataset and pipes it into the next line using %>%
2
line 2 filters out any results that are from non-OECD countries by finding all the rows where OECD equals == “Yes”, this is then piped to the next line
3
line 3 groups the data by country CNT and by student gender ST004D01T, this is then piped to the next line
4
line 4-6 the summarise command performs a calculation on the country and gender groupings returning three new columns, each command is described by code on a new line and separated by a comma: the mean value for maths mean_maths, the standard deviation sd_maths, and a column telling us how many students were in each grouping using the n() which returns the number of rows in a group. These new columns and the grouping columns are then piped to the next line, all other columns are dropped
5
line 7 filters out any gender ST004D01T that is NA. First is finds all the students that have NA as their gender by using is.na(ST004D01T), then it NOTs/flips the result using the exclamation mark !, giving those students who don’t have their gender set to NA. The filtered data is then piped to the next line
6
line 8, finally we arrange/sort the results in descending order by the mean_maths column. The default for arrange is ascending order, leave out the desc( ) for the numbers to be ordered in the opposite way.
# A tibble: 74 × 5
# Groups:   CNT [37]
   CNT             ST004D01T mean_maths sd_maths students
   <fct>           <fct>          <dbl>    <dbl>    <int>
 1 Japan           Male            540.     99.0     2856
 2 Korea           Male            534.    112.      3325
 3 Japan           Female          531.     88.1     2904
 4 Korea           Female          528.     99.1     3129
 5 Estonia         Male            515.     87.4     3272
 6 Switzerland     Male            511.     99.3     3540
 7 Estonia         Female          510.     81.5     3120
 8 Czech Republic  Male            502.    100.      4232
 9 Switzerland     Female          501.     90.9     3289
10 Austria         Male            500.     94.5     3110
11 Poland          Male            499.     94.2     3002
12 Ireland         Male            499.     83.6     2814
13 Belgium         Male            498.    100.      4030
14 Netherlands     Male            497.    109.      2652
15 Czech Republic  Female          497.     91.9     4228
16 Australia       Male            492.    103.      6858
17 Poland          Female          491.     82.4     3009
18 Belgium         Female          490.     92.0     4256
19 United Kingdom  Male            489.     98.2     6575
20 Canada          Male            489.     97.6    11654
21 Hungary         Male            488.     96.8     3089
22 Latvia          Male            488.     82.7     2637
23 Ireland         Female          487.     73.9     2755
24 Spain           Male            486.     87.3    15561
25 Italy           Male            485.     92.5     5193
26 Germany         Male            485.     97.0     3123
27 Netherlands     Female          484.    103.      2394
28 Denmark         Male            484.     86.4     3134
29 New Zealand     Male            483.    105.      2388
30 Sweden          Male            483.     99.0     3104
31 Austria         Female          482.     86.6     3041
32 Australia       Female          481.     92.3     6557
33 Sweden          Female          481.     89.7     2968
34 Portugal        Male            481.     91.4     3411
35 Canada          Female          480.     88.1    11377
36 Latvia          Female          477.     75.8     2736
37 Finland         Female          476.     89.3     4995
38 United Kingdom  Female          476.     91.2     6397
39 Spain           Female          475.     81.3    15239
40 Lithuania       Male            475.     89.9     3600
41 Slovenia        Female          475.     81.8     3137
42 Finland         Male            475.     96.1     5244
43 Hungary         Female          473.     86.4     3109
44 Denmark         Female          473.     79.8     3066
45 France          Male            472.     98.6     3364
46 New Zealand     Female          471.     91.1     2285
47 Germany         Female          471.     90.6     2993
48 Portugal        Female          471.     84.4     3382
49 Slovenia        Male            470.     92.0     3584
50 Lithuania       Female          470.     82.3     3657
51 Slovak Republic Female          469.     98.5     2736
52 Norway          Female          468.     86.8     3213
53 Norway          Male            468.     99.6     3398
54 Slovak Republic Male            468.    102.      3088
55 United States   Male            467.    101.      2312
56 Italy           Female          466.     82.0     5359
57 France          Female          464.     88.5     3406
58 Israel          Male            463.    116.      2892
59 Iceland         Male            460.     91.8     1728
60 Iceland         Female          456.     82.6     1632
61 United States   Female          456.     88.2     2235
62 Türkiye         Male            454.     92.7     3689
63 Israel          Female          452.     94.7     3359
64 Türkiye         Female          450.     85.5     3561
65 Greece          Male            438.     86.1     3217
66 Chile           Male            437.     81.5     3343
67 Greece          Female          430.     78.1     3186
68 Chile           Female          420.     75.9     3145
69 Mexico          Male            400.     71.4     2970
70 Colombia        Male            396.     75.7     3790
71 Costa Rica      Male            392.     69.2     3107
72 Mexico          Female          390.     66.4     3318
73 Colombia        Female          386.     70.6     4014
74 Costa Rica      Female          376.     62.9     3006

Across the top few countries, Males get a slightly better maths score PV1MATH than Females, other scores are available, please read ?@sec-PV to find out more about the limitations of using a “PV” value.

Note

we met the assignment command earlier <-. Within the tidyverse commands we use the equals sign instead =.

The commands we have just used come from a package within the tidyverse called dplyr, let’s take a look at what they do:

command purpose example
select reduce the dataframe to the fields that you specify select(<field>, <field>, <field>)
filter get rid of rows that don’t meet one or more criteria filter(<field> <comparison>)
group group fields together to perform calculations group_by(<field>, <field>))
mutate add new fields or change values in current fields mutate(<new_field> = <field> / 2)
summarise create summary data optionally using a grouping command summarise(<new_field> = max(<field>))
arrange order the results by one or more fields arrange(desc(<field>))
Note

If you want to explore more of the functions of dplyr, take a look at the helpsheet

Adjust the code above to find out the lowest performing countries for reading PV1READ by gender that are not in the OECD

answer
PISA_2022 %>% 
  filter(OECD == "No") %>%
  group_by(CNT, ST004D01T) %>% 
  summarise(mean_read = mean(PV1READ, na.rm=TRUE),
            sd_read = sd(PV1READ, na.rm=TRUE),
            students = n()) %>%
  filter(!is.na(ST004D01T)) %>%
  arrange(mean_read)

1 select

The PISA_2022 dataset has far too many fields, to reduce the number of fields to focus on just a few of them we can use select

PISA_2022 %>% 
  select(CNT,ESCS, ST004D01T, ST003D02T)
# A tibble: 613,744 × 4
    CNT        ESCS ST004D01T ST003D02T
    <fct>     <dbl> <fct>     <fct>    
  1 Albania  1.11   Female    May      
  2 Albania -3.05   Male      February 
  3 Albania -0.187  Male      August   
  4 Albania -3.22   Female    July     
  5 Albania -1.05   Female    January  
  6 Albania  1.09   Male      May      
  7 Albania -0.762  Male      May      
  8 Albania -1.02   Female    December 
  9 Albania -1.17   Female    August   
 10 Albania  0.286  Female    September
 11 Albania -1.98   Male      October  
 12 Albania  0.063  Male      April    
 13 Albania -0.170  Male      May      
 14 Albania -2.58   Male      August   
 15 Albania -1.18   Female    July     
 16 Albania -0.596  Female    February 
 17 Albania -1.09   Male      March    
 18 Albania  0.746  Female    June     
 19 Albania -0.885  Female    March    
 20 Albania -1.63   Female    August   
 21 Albania -0.334  Male      October  
 22 Albania -2.10   Male      January  
 23 Albania -1.10   Male      October  
 24 Albania -1.04   Female    February 
 25 Albania NA      Female    May      
 26 Albania  0.364  Female    June     
 27 Albania -2.75   Female    August   
 28 Albania -0.119  Female    January  
 29 Albania -1.20   Male      March    
 30 Albania -0.425  Female    February 
 31 Albania -0.150  Male      May      
 32 Albania -1.71   Male      July     
 33 Albania -1.67   Male      December 
 34 Albania -1.01   Female    April    
 35 Albania -1.07   Female    January  
 36 Albania -0.420  Male      October  
 37 Albania -1.78   Female    October  
 38 Albania -0.222  Female    March    
 39 Albania -1.18   Female    March    
 40 Albania  0.352  Female    September
 41 Albania -0.0602 Female    March    
 42 Albania  0.675  Male      February 
 43 Albania  0.408  Female    September
 44 Albania -0.872  Male      August   
 45 Albania  0.533  Male      March    
 46 Albania  0.263  Female    March    
 47 Albania  0.336  Female    June     
 48 Albania NA      Male      May      
 49 Albania -0.469  Male      May      
 50 Albania -0.716  Female    May      
 51 Albania -0.540  Female    July     
 52 Albania -1.72   Female    December 
 53 Albania  0.660  Female    August   
 54 Albania -0.858  Male      April    
 55 Albania -2.41   Male      June     
 56 Albania -1.94   Female    November 
 57 Albania -1.22   Male      November 
 58 Albania -1.72   Male      June     
 59 Albania -2.44   Male      May      
 60 Albania  0.672  Male      July     
 61 Albania NA      Male      August   
 62 Albania -1.58   Female    January  
 63 Albania -1.57   Female    January  
 64 Albania  0.256  Female    August   
 65 Albania NA      Male      January  
 66 Albania  0.641  Male      March    
 67 Albania -1.05   Female    June     
 68 Albania  1.10   Female    August   
 69 Albania -0.0282 Female    October  
 70 Albania -1.57   Male      June     
 71 Albania -1.34   Female    June     
 72 Albania NA      Female    October  
 73 Albania  0.358  Male      October  
 74 Albania -0.0888 Male      September
 75 Albania  0.877  Female    May      
 76 Albania NA      Male      July     
 77 Albania  1.14   Female    September
 78 Albania -1.18   Male      May      
 79 Albania -1.18   Male      September
 80 Albania  1.09   Female    May      
 81 Albania  0.991  Male      June     
 82 Albania -0.083  Male      August   
 83 Albania -0.901  Female    March    
 84 Albania NA      Male      June     
 85 Albania -0.344  Male      December 
 86 Albania  0.381  Male      December 
 87 Albania  0.416  Male      October  
 88 Albania -0.171  Male      November 
 89 Albania -1.62   Male      April    
 90 Albania NA      Male      June     
 91 Albania  0.652  Female    April    
 92 Albania  0.592  Male      January  
 93 Albania -0.686  Female    March    
 94 Albania NA      Male      September
 95 Albania -1.08   Male      August   
 96 Albania  1.04   Male      April    
 97 Albania -0.987  Female    May      
 98 Albania -2.58   Male      December 
 99 Albania -1.26   Female    April    
100 Albania  2.33   Female    May      
101 Albania -0.539  Female    October  
102 Albania -0.912  Male      October  
103 Albania -1.05   Female    September
104 Albania  0.172  Female    September
105 Albania -1.76   Male      June     
106 Albania  0.508  Male      June     
107 Albania -1.74   Female    October  
108 Albania NA      Male      January  
109 Albania -1.10   Female    June     
110 Albania NA      Male      July     
111 Albania -1.52   Male      June     
112 Albania -1.77   Female    March    
113 Albania  0.796  Male      February 
114 Albania  0.720  Male      October  
115 Albania -2.30   Male      September
116 Albania -2.15   Female    June     
117 Albania -0.294  Female    December 
118 Albania -0.512  Male      February 
119 Albania -1.21   Male      December 
120 Albania -1.70   Female    March    
121 Albania -1.33   Female    December 
122 Albania -1.75   Female    March    
123 Albania -0.559  Male      July     
124 Albania  1.16   Male      September
125 Albania -2.56   Female    December 
126 Albania  0.811  Female    December 
127 Albania -1.17   Male      May      
128 Albania -1.53   Female    September
129 Albania  0.893  Female    August   
130 Albania -0.664  Female    September
131 Albania  0.328  Male      March    
132 Albania NA      Male      September
133 Albania -1.77   Female    November 
134 Albania  1.12   Male      October  
135 Albania -0.172  Female    May      
136 Albania -0.608  Female    August   
137 Albania -1.80   Male      July     
138 Albania -1.30   Male      May      
139 Albania -0.631  Female    May      
140 Albania -2.02   Female    August   
141 Albania -0.403  Female    October  
142 Albania -1.92   Male      December 
143 Albania NA      Male      October  
144 Albania -0.605  Male      August   
145 Albania NA      Male      January  
146 Albania -1.32   Female    June     
147 Albania  0.268  Male      December 
148 Albania -0.545  Male      September
149 Albania -1.61   Female    March    
150 Albania -3.23   Male      February 
151 Albania  0.996  Male      March    
152 Albania -0.745  Female    December 
153 Albania -0.324  Male      June     
154 Albania -2.23   Female    November 
155 Albania -1.67   Female    January  
156 Albania  0.314  Female    March    
157 Albania -0.838  Male      May      
158 Albania -1.35   Male      September
159 Albania -2.40   Female    February 
160 Albania -1.76   Female    April    
161 Albania -3.22   Female    November 
162 Albania -0.630  Female    April    
163 Albania  0.529  Male      June     
164 Albania -0.716  Male      June     
165 Albania  1.03   Female    November 
166 Albania -0.644  Male      May      
167 Albania -1.09   Female    July     
168 Albania  0.136  Male      October  
169 Albania  0.160  Male      October  
170 Albania -1.02   Male      January  
171 Albania -0.335  Male      December 
172 Albania -1.82   Female    August   
173 Albania  0.859  Male      December 
174 Albania -0.262  Male      August   
175 Albania -0.384  Female    April    
176 Albania -1.17   Female    February 
177 Albania -1.49   Male      April    
178 Albania -1.51   Male      April    
179 Albania -2.14   Male      December 
180 Albania -0.33   Male      October  
181 Albania -0.514  Female    March    
182 Albania -1.25   Male      July     
183 Albania NA      Male      January  
184 Albania  1.13   Male      February 
185 Albania  0.817  Female    June     
186 Albania -0.583  Female    June     
187 Albania -1.40   Female    November 
188 Albania -0.981  Female    February 
189 Albania  0.170  Female    April    
190 Albania -1.92   Female    February 
191 Albania -2.27   Male      September
192 Albania -2.55   Male      May      
193 Albania -1.87   Female    September
194 Albania -2.00   Male      May      
195 Albania  0.594  Female    May      
196 Albania -1.75   Male      July     
197 Albania -1.88   Male      July     
198 Albania -0.723  Male      November 
199 Albania -0.608  Male      July     
200 Albania -0.942  Female    March    
201 Albania  0.814  Male      July     
202 Albania -0.804  Female    June     
203 Albania -1.24   Female    May      
204 Albania -1.81   Female    September
205 Albania -0.922  Male      April    
206 Albania -1.16   Male      October  
207 Albania  0.764  Female    March    
208 Albania  0.836  Female    June     
209 Albania -1.24   Male      January  
210 Albania  0.217  Male      April    
211 Albania -2.11   Female    September
212 Albania  0.0088 Female    May      
213 Albania -1.97   Male      February 
214 Albania -3.09   Male      December 
215 Albania NA      Male      May      
216 Albania -1.96   Female    December 
217 Albania -1.08   Female    December 
218 Albania -0.853  Male      May      
219 Albania NA      Male      April    
220 Albania -1.53   Female    June     
221 Albania -1.02   Female    December 
222 Albania  0.0068 Male      June     
223 Albania  1.15   Female    December 
224 Albania -1.75   Female    December 
225 Albania -0.0901 Female    September
226 Albania -0.113  Male      May      
227 Albania -3.80   Female    March    
228 Albania -2.52   Male      October  
229 Albania  0.565  Female    October  
230 Albania -1.35   Male      April    
231 Albania -0.390  Male      June     
232 Albania -1.98   Female    December 
233 Albania -1.89   Female    October  
234 Albania NA      Female    January  
235 Albania  0.195  Male      October  
236 Albania -1.47   Male      May      
237 Albania  0.801  Female    November 
238 Albania  0.229  Male      January  
239 Albania NA      Male      July     
240 Albania  0.265  Male      February 
241 Albania -2.26   Female    May      
242 Albania -2.35   Male      January  
243 Albania -2.84   Female    February 
244 Albania -1.90   Female    July     
245 Albania -2.09   Female    December 
246 Albania -1.97   Male      October  
247 Albania  1.00   Female    December 
248 Albania  0.614  Female    December 
249 Albania -1.32   Male      November 
250 Albania -0.404  Female    May      
251 Albania -1.13   Male      June     
252 Albania -0.743  Female    March    
253 Albania -0.0284 Female    April    
254 Albania -0.980  Male      November 
255 Albania -0.108  Male      April    
256 Albania -0.508  Female    August   
257 Albania  0.0998 Female    October  
258 Albania -1.62   Male      August   
259 Albania -2.29   Male      May      
260 Albania  0.828  Male      July     
261 Albania -2.20   Female    April    
262 Albania NA      Male      November 
263 Albania  0.549  Male      April    
264 Albania -1.02   Female    June     
265 Albania NA      Female    October  
266 Albania  0.405  Female    February 
267 Albania -0.546  Male      January  
268 Albania  1.02   Female    March    
269 Albania  0.623  Male      July     
270 Albania -1.76   Female    October  
271 Albania -0.560  Male      June     
272 Albania -2.24   Female    July     
273 Albania -0.830  Male      June     
274 Albania -1.63   Male      January  
275 Albania -0.958  Female    January  
276 Albania -0.216  Female    March    
277 Albania  1.19   Male      June     
278 Albania  0.412  Female    July     
279 Albania -2.00   Female    September
280 Albania -0.851  Male      January  
281 Albania -1.65   Male      November 
282 Albania  0.801  Female    February 
283 Albania -0.593  Male      July     
284 Albania  0      Male      April    
285 Albania -1.03   Male      January  
286 Albania  0.338  Female    August   
287 Albania -1.58   Male      September
288 Albania -2.05   Male      September
289 Albania -1.42   Female    December 
290 Albania -1.23   Male      March    
291 Albania  0.214  Female    March    
292 Albania -0.0101 Male      September
293 Albania -0.878  Male      September
294 Albania -0.249  Female    September
295 Albania -1.72   Female    May      
296 Albania  0.425  Male      July     
297 Albania -1.53   Male      June     
298 Albania -0.795  Male      February 
299 Albania  0.870  Female    May      
300 Albania  0.626  Female    June     
301 Albania -0.602  Male      September
302 Albania -2.44   Female    December 
303 Albania  0.382  Male      July     
304 Albania -0.424  Male      August   
305 Albania -1.02   Male      October  
306 Albania -0.721  Male      January  
307 Albania -1.99   Female    March    
308 Albania -0.730  Male      June     
309 Albania NA      Male      April    
310 Albania -1.15   Female    August   
311 Albania  1.10   Male      October  
312 Albania -1.39   Male      June     
313 Albania -2.61   Female    May      
314 Albania -2.22   Female    July     
315 Albania  0.674  Male      August   
316 Albania NA      Female    October  
317 Albania  1.01   Male      July     
318 Albania -1.10   Female    August   
319 Albania -2.82   Female    August   
320 Albania -2.94   Female    November 
321 Albania -1.39   Male      October  
322 Albania -1.98   Female    August   
323 Albania  0.614  Female    August   
324 Albania NA      Female    March    
325 Albania NA      Female    May      
326 Albania -1.80   Male      March    
327 Albania -1.23   Male      June     
328 Albania  0.508  Female    October  
329 Albania -0.251  Male      January  
330 Albania  1.06   Male      June     
331 Albania -0.0118 Female    November 
332 Albania NA      Male      October  
333 Albania  1.08   Female    April    
334 Albania -0.856  Female    November 
335 Albania  0.423  Female    December 
336 Albania  0.472  Male      June     
337 Albania -1.42   Male      January  
338 Albania -2.31   Female    March    
339 Albania  0.185  Female    August   
340 Albania -1.50   Male      October  
341 Albania -1.72   Male      September
342 Albania -1.32   Male      July     
343 Albania -2.21   Female    August   
344 Albania -0.716  Female    December 
345 Albania -1.20   Male      September
346 Albania  0.376  Male      March    
347 Albania NA      Male      February 
348 Albania  0.773  Male      August   
349 Albania -1.22   Male      May      
350 Albania -0.488  Female    May      
351 Albania -1.19   Male      January  
352 Albania -1.87   Female    March    
353 Albania  0.442  Female    May      
354 Albania -0.754  Female    May      
355 Albania -0.633  Female    September
356 Albania -0.338  Male      June     
357 Albania -0.0522 Male      May      
358 Albania -0.750  Male      July     
359 Albania -0.924  Male      March    
360 Albania  0.594  Female    January  
361 Albania  0.844  Male      August   
362 Albania -0.392  Female    October  
363 Albania -1.61   Female    July     
364 Albania -1.61   Male      January  
365 Albania -0.135  Male      August   
366 Albania -1.30   Female    March    
367 Albania -2.34   Male      February 
368 Albania  0.512  Male      July     
369 Albania -2.71   Female    January  
370 Albania -0.966  Female    January  
371 Albania NA      Female    December 
372 Albania -0.925  Male      June     
373 Albania  0.868  Male      March    
374 Albania  0.366  Male      July     
375 Albania -0.518  Male      September
376 Albania -1.80   Male      March    
377 Albania -1.32   Male      May      
378 Albania -0.0169 Male      September
379 Albania -1.18   Female    July     
380 Albania -2.01   Female    December 
381 Albania -0.704  Female    June     
382 Albania -2.05   Male      February 
383 Albania -2.03   Male      December 
384 Albania -1.09   Female    November 
385 Albania -0.312  Male      July     
386 Albania  0.550  Male      March    
387 Albania  0.459  Male      November 
388 Albania -1.15   Female    May      
389 Albania -0.747  Female    February 
390 Albania  0.499  Male      October  
391 Albania  1.20   Male      November 
392 Albania -2.59   Male      September
393 Albania -2.85   Male      February 
394 Albania -2.10   Female    December 
395 Albania NA      Female    April    
396 Albania -1.63   Female    August   
397 Albania NA      Male      March    
398 Albania -1.14   Female    August   
399 Albania NA      Male      May      
400 Albania -1.68   Female    November 
401 Albania -0.302  Male      September
402 Albania -2.47   Male      March    
403 Albania -0.340  Female    February 
404 Albania -1.51   Female    May      
405 Albania  0.0844 Female    May      
406 Albania -2.07   Female    August   
407 Albania -1.32   Male      July     
408 Albania -1.33   Male      June     
409 Albania -0.565  Male      April    
410 Albania NA      Female    September
411 Albania  0.996  Female    April    
412 Albania -0.289  Female    January  
413 Albania -2.14   Female    August   
414 Albania  0.0733 Female    February 
415 Albania  0.122  Male      March    
416 Albania -1.67   Female    September
417 Albania -1.30   Female    July     
418 Albania -1.59   Male      February 
419 Albania -0.959  Female    July     
420 Albania -2.14   Male      October  
421 Albania -0.383  Female    April    
422 Albania -0.312  Female    September
423 Albania -0.308  Female    January  
424 Albania -0.866  Male      January  
425 Albania NA      Female    March    
426 Albania NA      Female    November 
427 Albania -1.36   Female    June     
428 Albania -1.52   Male      February 
429 Albania -1.57   Female    November 
430 Albania -1.67   Male      March    
431 Albania -2.58   Male      August   
432 Albania -0.652  Male      June     
433 Albania -0.0924 Female    March    
434 Albania -1.11   Female    August   
435 Albania NA      Male      August   
436 Albania -1.94   Female    September
437 Albania  0.588  Male      May      
438 Albania -0.908  Male      September
439 Albania  1.10   Male      May      
440 Albania -0.093  Female    April    
441 Albania  1.38   Male      December 
442 Albania -1.73   Male      November 
443 Albania -2.40   Male      August   
444 Albania -0.188  Female    May      
445 Albania -1.55   Male      January  
446 Albania  0.374  Female    September
447 Albania -1.59   Male      November 
448 Albania -2.20   Female    October  
449 Albania -1.65   Male      May      
450 Albania -0.103  Female    May      
451 Albania -2.90   Female    August   
452 Albania -0.212  Female    January  
453 Albania  0.518  Female    July     
454 Albania -2.81   Female    June     
455 Albania  0.756  Female    August   
456 Albania -1.23   Male      March    
457 Albania -0.470  Female    August   
458 Albania -1.32   Female    November 
459 Albania  1.13   Female    April    
460 Albania -0.706  Female    September
461 Albania  0.499  Male      November 
462 Albania -0.239  Male      March    
463 Albania -1.04   Male      April    
464 Albania -2.20   Female    February 
465 Albania -1.77   Male      March    
466 Albania  0.136  Female    December 
467 Albania  2.34   Male      September
468 Albania  1.31   Female    April    
469 Albania -0.531  Male      August   
470 Albania -2.02   Female    December 
471 Albania  0.560  Male      July     
472 Albania -2.63   Female    May      
473 Albania  0.368  Female    May      
474 Albania -2.10   Female    June     
475 Albania  0.752  Female    March    
476 Albania -1.51   Female    December 
477 Albania  0.436  Male      January  
478 Albania -2.12   Female    May      
479 Albania -0.451  Male      April    
480 Albania  0.468  Male      August   
481 Albania -1.07   Male      October  
482 Albania -2.99   Female    May      
483 Albania -1.10   Female    May      
484 Albania -0.633  Female    September
485 Albania -1.39   Female    February 
486 Albania  0.199  Male      December 
487 Albania  0.505  Female    January  
488 Albania  0.505  Male      November 
489 Albania -1.19   Male      August   
490 Albania  0.446  Female    June     
491 Albania -2.79   Female    March    
492 Albania  0.610  Male      October  
493 Albania -1.10   Female    May      
494 Albania -1.71   Male      January  
495 Albania -0.804  Female    December 
496 Albania  1.18   Male      November 
497 Albania -1.77   Female    January  
498 Albania -2.67   Male      December 
499 Albania -1.57   Female    October  
500 Albania -2.36   Female    August   
# ℹ 613,244 more rows

You might also be in the situation where you want to select everything but one or two fields, you can do this with the negative signal -, the below code returns all the fields except CNT and OECD:

PISA_2022 %>% select(-CNT, -OECD)
# A tibble: 613,744 × 82
    CNTSCHID CNTSTUID REGION  LANGTEST_QQQ ST003D02T ST003D03T ST004D01T
       <dbl>    <dbl> <fct>   <fct>        <fct>     <fct>     <fct>    
  1   800282   800001 Albania Albanian     May       2006      Female   
  2   800115   800002 Albania Albanian     February  2006      Male     
  3   800242   800003 Albania Albanian     August    2006      Male     
  4   800245   800005 Albania Albanian     July      2006      Female   
  5   800285   800006 Albania Albanian     January   2006      Female   
  6   800172   800007 Albania Albanian     May       2006      Male     
  7   800082   800008 Albania Albanian     May       2006      Male     
  8   800274   800009 Albania Albanian     December  2006      Female   
  9   800057   800010 Albania Albanian     August    2006      Female   
 10   800132   800012 Albania Albanian     September 2006      Female   
 11   800231   800013 Albania Albanian     October   2006      Male     
 12   800097   800014 Albania Albanian     April     2006      Male     
 13   800040   800015 Albania Albanian     May       2006      Male     
 14   800150   800016 Albania Albanian     August    2006      Male     
 15   800161   800017 Albania Albanian     July      2006      Female   
 16   800039   800019 Albania Albanian     February  2006      Female   
 17   800265   800020 Albania Albanian     March     2006      Male     
 18   800265   800023 Albania Albanian     June      2006      Female   
 19   800123   800024 Albania Albanian     March     2006      Female   
 20   800079   800025 Albania Albanian     August    2006      Female   
 21   800163   800026 Albania Albanian     October   2006      Male     
 22   800009   800028 Albania Albanian     January   2006      Male     
 23   800236   800029 Albania Albanian     October   2006      Male     
 24   800282   800030 Albania Albanian     February  2006      Female   
 25   800172   800031 Albania Albanian     May       2006      Female   
 26   800042   800032 Albania Albanian     June      2006      Female   
 27   800055   800034 Albania Albanian     August    2006      Female   
 28   800097   800035 Albania Albanian     January   2006      Female   
 29   800161   800036 Albania Albanian     March     2006      Male     
 30   800191   800037 Albania Albanian     February  2006      Female   
 31   800281   800038 Albania Albanian     May       2006      Male     
 32   800205   800040 Albania Albanian     July      2006      Male     
 33   800144   800042 Albania Albanian     December  2006      Male     
 34   800286   800043 Albania Albanian     April     2006      Female   
 35   800282   800044 Albania Albanian     January   2006      Female   
 36   800286   800045 Albania Albanian     October   2006      Male     
 37   800174   800046 Albania Albanian     October   2006      Female   
 38   800268   800047 Albania Albanian     March     2006      Female   
 39   800061   800048 Albania Albanian     March     2006      Female   
 40   800257   800050 Albania Albanian     September 2006      Female   
 41   800212   800051 Albania Albanian     March     2006      Female   
 42   800056   800052 Albania Albanian     February  2006      Male     
 43   800232   800053 Albania Albanian     September 2006      Female   
 44   800095   800054 Albania Albanian     August    2006      Male     
 45   800265   800055 Albania Albanian     March     2006      Male     
 46   800284   800056 Albania Albanian     March     2006      Female   
 47   800193   800057 Albania Albanian     June      2006      Female   
 48   800241   800058 Albania Albanian     May       2006      Male     
 49   800276   800059 Albania Albanian     May       2006      Male     
 50   800232   800060 Albania Albanian     May       2006      Female   
 51   800138   800061 Albania Albanian     July      2006      Female   
 52   800274   800062 Albania Albanian     December  2006      Female   
 53   800054   800063 Albania Albanian     August    2006      Female   
 54   800165   800064 Albania Albanian     April     2006      Male     
 55   800206   800065 Albania Albanian     June      2006      Male     
 56   800246   800066 Albania Albanian     November  2006      Female   
 57   800123   800067 Albania Albanian     November  2006      Male     
 58   800201   800072 Albania Albanian     June      2006      Male     
 59   800269   800073 Albania Albanian     May       2006      Male     
 60   800265   800074 Albania Albanian     July      2006      Male     
 61   800162   800075 Albania Albanian     August    2006      Male     
 62   800261   800076 Albania Albanian     January   2006      Female   
 63   800197   800077 Albania Albanian     January   2006      Female   
 64   800022   800078 Albania Albanian     August    2006      Female   
 65   800157   800080 Albania <NA>         January   2006      Male     
 66   800174   800081 Albania Albanian     March     2006      Male     
 67   800187   800082 Albania Albanian     June      2006      Female   
 68   800036   800084 Albania Albanian     August    2006      Female   
 69   800291   800085 Albania Albanian     October   2006      Female   
 70   800224   800086 Albania Albanian     June      2006      Male     
 71   800116   800087 Albania Albanian     June      2006      Female   
 72   800130   800088 Albania <NA>         October   2006      Female   
 73   800022   800090 Albania Albanian     October   2006      Male     
 74   800096   800092 Albania Albanian     September 2006      Male     
 75   800265   800093 Albania Albanian     May       2006      Female   
 76   800281   800094 Albania Albanian     July      2006      Male     
 77   800042   800096 Albania Albanian     September 2006      Female   
 78   800081   800097 Albania Albanian     May       2006      Male     
 79   800115   800099 Albania Albanian     September 2006      Male     
 80   800203   800101 Albania Albanian     May       2006      Female   
 81   800008   800103 Albania Albanian     June      2006      Male     
 82   800111   800105 Albania Albanian     August    2006      Male     
 83   800204   800106 Albania Albanian     March     2006      Female   
 84   800281   800107 Albania Albanian     June      2006      Male     
 85   800253   800109 Albania Albanian     December  2006      Male     
 86   800158   800110 Albania Albanian     December  2006      Male     
 87   800160   800111 Albania Albanian     October   2006      Male     
 88   800281   800112 Albania Albanian     November  2006      Male     
 89   800089   800113 Albania Albanian     April     2006      Male     
 90   800065   800115 Albania <NA>         June      2006      Male     
 91   800063   800117 Albania Albanian     April     2006      Female   
 92   800279   800118 Albania Albanian     January   2006      Male     
 93   800118   800119 Albania Albanian     March     2006      Female   
 94   800241   800120 Albania Albanian     September 2006      Male     
 95   800209   800121 Albania Albanian     August    2006      Male     
 96   800195   800122 Albania Albanian     April     2006      Male     
 97   800059   800123 Albania Albanian     May       2006      Female   
 98   800155   800124 Albania Albanian     December  2006      Male     
 99   800256   800125 Albania Albanian     April     2006      Female   
100   800253   800126 Albania Albanian     May       2006      Female   
101   800232   800127 Albania Albanian     October   2006      Female   
102   800023   800128 Albania Albanian     October   2006      Male     
103   800246   800129 Albania Albanian     September 2006      Female   
104   800038   800132 Albania Albanian     September 2006      Female   
105   800296   800133 Albania Albanian     June      2006      Male     
106   800099   800134 Albania Albanian     June      2006      Male     
107   800116   800135 Albania Albanian     October   2006      Female   
108   800267   800136 Albania Albanian     January   2006      Male     
109   800047   800137 Albania Albanian     June      2006      Female   
110   800172   800139 Albania <NA>         July      2006      Male     
111   800201   800140 Albania Albanian     June      2006      Male     
112   800118   800141 Albania Albanian     March     2006      Female   
113   800233   800142 Albania Albanian     February  2006      Male     
114   800174   800143 Albania Albanian     October   2006      Male     
115   800254   800144 Albania Albanian     September 2006      Male     
116   800236   800145 Albania Albanian     June      2006      Female   
117   800193   800146 Albania Albanian     December  2006      Female   
118   800088   800147 Albania Albanian     February  2006      Male     
119   800222   800148 Albania Albanian     December  2006      Male     
120   800051   800149 Albania Albanian     March     2006      Female   
121   800156   800151 Albania Albanian     December  2006      Female   
122   800083   800153 Albania Albanian     March     2006      Female   
123   800159   800154 Albania Albanian     July      2006      Male     
124   800063   800155 Albania Albanian     September 2006      Male     
125   800117   800157 Albania Albanian     December  2006      Female   
126   800094   800161 Albania Albanian     December  2006      Female   
127   800201   800162 Albania Albanian     May       2006      Male     
128   800028   800163 Albania Albanian     September 2006      Female   
129   800163   800164 Albania Albanian     August    2006      Female   
130   800105   800165 Albania Albanian     September 2006      Female   
131   800057   800166 Albania Albanian     March     2006      Male     
132   800291   800167 Albania Albanian     September 2006      Male     
133   800170   800168 Albania Albanian     November  2006      Female   
134   800023   800169 Albania Albanian     October   2006      Male     
135   800197   800170 Albania Albanian     May       2006      Female   
136   800157   800171 Albania Albanian     August    2006      Female   
137   800162   800173 Albania Albanian     July      2006      Male     
138   800089   800174 Albania Albanian     May       2006      Male     
139   800002   800175 Albania Albanian     May       2006      Female   
140   800150   800176 Albania Albanian     August    2006      Female   
141   800090   800177 Albania Albanian     October   2006      Female   
142   800004   800178 Albania Albanian     December  2006      Male     
143   800175   800179 Albania Albanian     October   2006      Male     
144   800266   800180 Albania Albanian     August    2006      Male     
145   800137   800181 Albania Albanian     January   2006      Male     
146   800047   800182 Albania Albanian     June      2006      Female   
147   800063   800183 Albania Albanian     December  2006      Male     
148   800027   800184 Albania Albanian     September 2006      Male     
149   800280   800185 Albania Albanian     March     2006      Female   
150   800038   800186 Albania Albanian     February  2006      Male     
151   800191   800188 Albania Albanian     March     2006      Male     
152   800262   800190 Albania Albanian     December  2006      Female   
153   800281   800191 Albania Albanian     June      2006      Male     
154   800008   800192 Albania Albanian     November  2006      Female   
155   800019   800193 Albania Albanian     January   2006      Female   
156   800063   800194 Albania Albanian     March     2006      Female   
157   800161   800195 Albania Albanian     May       2006      Male     
158   800146   800197 Albania Albanian     September 2006      Male     
159   800176   800198 Albania Albanian     February  2006      Female   
160   800118   800199 Albania Albanian     April     2006      Female   
161   800024   800201 Albania Albanian     November  2006      Female   
162   800157   800204 Albania Albanian     April     2006      Female   
163   800286   800205 Albania Albanian     June      2006      Male     
164   800038   800206 Albania Albanian     June      2006      Male     
165   800175   800207 Albania Albanian     November  2006      Female   
166   800196   800208 Albania Albanian     May       2006      Male     
167   800045   800209 Albania Albanian     July      2006      Female   
168   800247   800211 Albania Albanian     October   2006      Male     
169   800174   800212 Albania Albanian     October   2006      Male     
170   800183   800213 Albania Albanian     January   2006      Male     
171   800295   800214 Albania Albanian     December  2006      Male     
172   800276   800215 Albania Albanian     August    2006      Female   
173   800268   800216 Albania Albanian     December  2006      Male     
174   800077   800217 Albania Albanian     August    2006      Male     
175   800138   800218 Albania Albanian     April     2006      Female   
176   800059   800219 Albania Albanian     February  2006      Female   
177   800262   800221 Albania Albanian     April     2006      Male     
178   800055   800223 Albania Albanian     April     2006      Male     
179   800222   800224 Albania Albanian     December  2006      Male     
180   800262   800225 Albania Albanian     October   2006      Male     
181   800267   800227 Albania Albanian     March     2006      Female   
182   800232   800229 Albania Albanian     July      2006      Male     
183   800142   800230 Albania <NA>         January   2006      Male     
184   800267   800231 Albania Albanian     February  2006      Male     
185   800133   800232 Albania Albanian     June      2006      Female   
186   800291   800233 Albania Albanian     June      2006      Female   
187   800064   800234 Albania Albanian     November  2006      Female   
188   800271   800235 Albania Albanian     February  2006      Female   
189   800084   800236 Albania Albanian     April     2006      Female   
190   800114   800237 Albania Albanian     February  2006      Female   
191   800065   800238 Albania Albanian     September 2006      Male     
192   800149   800239 Albania Albanian     May       2006      Male     
193   800118   800240 Albania Albanian     September 2006      Female   
194   800047   800241 Albania Albanian     May       2006      Male     
195   800097   800242 Albania Albanian     May       2006      Female   
196   800201   800243 Albania Albanian     July      2006      Male     
197   800008   800244 Albania Albanian     July      2006      Male     
198   800243   800245 Albania Albanian     November  2006      Male     
199   800240   800246 Albania Albanian     July      2006      Male     
200   800107   800247 Albania Albanian     March     2006      Female   
201   800191   800248 Albania Albanian     July      2006      Male     
202   800083   800249 Albania Albanian     June      2006      Female   
203   800026   800250 Albania Albanian     May       2006      Female   
204   800083   800251 Albania Albanian     September 2006      Female   
205   800262   800253 Albania Albanian     April     2006      Male     
206   800002   800254 Albania Albanian     October   2006      Male     
207   800094   800255 Albania Albanian     March     2006      Female   
208   800107   800256 Albania Albanian     June      2006      Female   
209   800283   800257 Albania Albanian     January   2006      Male     
210   800066   800259 Albania Albanian     April     2006      Male     
211   800118   800260 Albania Albanian     September 2006      Female   
212   800166   800261 Albania Albanian     May       2006      Female   
213   800027   800262 Albania Albanian     February  2006      Male     
214   800173   800263 Albania Albanian     December  2006      Male     
215   800266   800264 Albania Albanian     May       2006      Male     
216   800210   800265 Albania Albanian     December  2006      Female   
217   800200   800267 Albania Albanian     December  2006      Female   
218   800201   800268 Albania Albanian     May       2006      Male     
219   800166   800269 Albania <NA>         April     2006      Male     
220   800048   800270 Albania Albanian     June      2006      Female   
221   800029   800271 Albania Albanian     December  2006      Female   
222   800101   800272 Albania Albanian     June      2006      Male     
223   800022   800273 Albania Albanian     December  2006      Female   
224   800091   800274 Albania Albanian     December  2006      Female   
225   800203   800275 Albania Albanian     September 2006      Female   
226   800022   800276 Albania Albanian     May       2006      Male     
227   800100   800277 Albania Albanian     March     2006      Female   
228   800293   800278 Albania Albanian     October   2006      Male     
229   800203   800279 Albania Albanian     October   2006      Female   
230   800266   800280 Albania Albanian     April     2006      Male     
231   800196   800281 Albania Albanian     June      2006      Male     
232   800274   800283 Albania Albanian     December  2006      Female   
233   800034   800285 Albania Albanian     October   2006      Female   
234   800108   800286 Albania <NA>         January   2006      Female   
235   800091   800288 Albania Albanian     October   2006      Male     
236   800040   800290 Albania Albanian     May       2006      Male     
237   800163   800292 Albania Albanian     November  2006      Female   
238   800108   800293 Albania Albanian     January   2006      Male     
239   800190   800295 Albania Albanian     July      2006      Male     
240   800001   800296 Albania Albanian     February  2006      Male     
241   800009   800297 Albania Albanian     May       2006      Female   
242   800293   800298 Albania Albanian     January   2006      Male     
243   800056   800299 Albania Albanian     February  2006      Female   
244   800265   800300 Albania Albanian     July      2006      Female   
245   800282   800301 Albania Albanian     December  2006      Female   
246   800246   800302 Albania Albanian     October   2006      Male     
247   800267   800304 Albania Albanian     December  2006      Female   
248   800020   800305 Albania Albanian     December  2006      Female   
249   800120   800306 Albania Albanian     November  2006      Male     
250   800284   800307 Albania Albanian     May       2006      Female   
251   800261   800308 Albania Albanian     June      2006      Male     
252   800265   800309 Albania Albanian     March     2006      Female   
253   800255   800310 Albania Albanian     April     2006      Female   
254   800048   800312 Albania Albanian     November  2006      Male     
255   800061   800313 Albania Albanian     April     2006      Male     
256   800007   800314 Albania Albanian     August    2006      Female   
257   800064   800315 Albania Albanian     October   2006      Female   
258   800137   800316 Albania Albanian     August    2006      Male     
259   800222   800317 Albania Albanian     May       2006      Male     
260   800262   800318 Albania Albanian     July      2006      Male     
261   800019   800319 Albania Albanian     April     2006      Female   
262   800241   800320 Albania Albanian     November  2006      Male     
263   800162   800321 Albania Albanian     April     2006      Male     
264   800163   800323 Albania Albanian     June      2006      Female   
265   800241   800324 Albania Albanian     October   2006      Female   
266   800149   800325 Albania Albanian     February  2006      Female   
267   800203   800326 Albania Albanian     January   2006      Male     
268   800108   800328 Albania Albanian     March     2006      Female   
269   800212   800329 Albania Albanian     July      2006      Male     
270   800009   800331 Albania Albanian     October   2006      Female   
271   800055   800332 Albania Albanian     June      2006      Male     
272   800007   800333 Albania Albanian     July      2006      Female   
273   800285   800334 Albania Albanian     June      2006      Male     
274   800159   800335 Albania Albanian     January   2006      Male     
275   800020   800336 Albania Albanian     January   2006      Female   
276   800231   800337 Albania Albanian     March     2006      Female   
277   800257   800338 Albania Albanian     June      2006      Male     
278   800128   800340 Albania Albanian     July      2006      Female   
279   800026   800341 Albania Albanian     September 2006      Female   
280   800087   800342 Albania Albanian     January   2006      Male     
281   800222   800343 Albania Albanian     November  2006      Male     
282   800123   800344 Albania Albanian     February  2006      Female   
283   800054   800346 Albania Albanian     July      2006      Male     
284   800190   800347 Albania Albanian     April     2006      Male     
285   800174   800348 Albania Albanian     January   2006      Male     
286   800098   800349 Albania Albanian     August    2006      Female   
287   800125   800351 Albania Albanian     September 2006      Male     
288   800201   800352 Albania Albanian     September 2006      Male     
289   800064   800354 Albania Albanian     December  2006      Female   
290   800212   800355 Albania Albanian     March     2006      Male     
291   800029   800356 Albania Albanian     March     2006      Female   
292   800022   800358 Albania Albanian     September 2006      Male     
293   800188   800359 Albania Albanian     September 2006      Male     
294   800040   800360 Albania Albanian     September 2006      Female   
295   800159   800361 Albania Albanian     May       2006      Female   
296   800236   800363 Albania Albanian     July      2006      Male     
297   800254   800366 Albania Albanian     June      2006      Male     
298   800294   800367 Albania Albanian     February  2006      Male     
299   800166   800368 Albania Albanian     May       2006      Female   
300   800094   800369 Albania Albanian     June      2006      Female   
301   800280   800370 Albania Albanian     September 2006      Male     
302   800054   800371 Albania Albanian     December  2006      Female   
303   800065   800372 Albania Albanian     July      2006      Male     
304   800082   800373 Albania Albanian     August    2006      Male     
305   800265   800374 Albania Albanian     October   2006      Male     
306   800186   800375 Albania Albanian     January   2006      Male     
307   800127   800376 Albania Albanian     March     2006      Female   
308   800279   800377 Albania Albanian     June      2006      Male     
309   800278   800379 Albania <NA>         April     2006      Male     
310   800117   800380 Albania Albanian     August    2006      Female   
311   800163   800382 Albania Albanian     October   2006      Male     
312   800052   800383 Albania Albanian     June      2006      Male     
313   800001   800385 Albania Albanian     May       2006      Female   
314   800038   800386 Albania Albanian     July      2006      Female   
315   800184   800387 Albania Albanian     August    2006      Male     
316   800090   800388 Albania Albanian     October   2006      Female   
317   800092   800390 Albania Albanian     July      2006      Male     
318   800092   800391 Albania Albanian     August    2006      Female   
319   800244   800392 Albania Albanian     August    2006      Female   
320   800174   800393 Albania Albanian     November  2006      Female   
321   800228   800394 Albania Albanian     October   2006      Male     
322   800083   800395 Albania Albanian     August    2006      Female   
323   800241   800396 Albania Albanian     August    2006      Female   
324   800209   800398 Albania <NA>         March     2006      Female   
325   800267   800399 Albania <NA>         May       2006      Female   
326   800227   800401 Albania Albanian     March     2006      Male     
327   800247   800402 Albania Albanian     June      2006      Male     
328   800263   800403 Albania Albanian     October   2006      Female   
329   800242   800405 Albania Albanian     January   2006      Male     
330   800172   800406 Albania Albanian     June      2006      Male     
331   800279   800408 Albania Albanian     November  2006      Female   
332   800130   800409 Albania <NA>         October   2006      Male     
333   800285   800410 Albania Albanian     April     2006      Female   
334   800089   800411 Albania Albanian     November  2006      Female   
335   800064   800412 Albania Albanian     December  2006      Female   
336   800023   800413 Albania Albanian     June      2006      Male     
337   800024   800415 Albania Albanian     January   2006      Male     
338   800276   800416 Albania Albanian     March     2006      Female   
339   800285   800417 Albania Albanian     August    2006      Female   
340   800118   800418 Albania Albanian     October   2006      Male     
341   800150   800419 Albania Albanian     September 2006      Male     
342   800131   800420 Albania Albanian     July      2006      Male     
343   800206   800421 Albania Albanian     August    2006      Female   
344   800291   800424 Albania Albanian     December  2006      Female   
345   800263   800425 Albania Albanian     September 2006      Male     
346   800198   800426 Albania Albanian     March     2006      Male     
347   800059   800427 Albania Albanian     February  2006      Male     
348   800203   800429 Albania Albanian     August    2006      Male     
349   800017   800430 Albania Albanian     May       2006      Male     
350   800001   800431 Albania Albanian     May       2006      Female   
351   800278   800434 Albania Albanian     January   2006      Male     
352   800197   800435 Albania Albanian     March     2006      Female   
353   800061   800436 Albania Albanian     May       2006      Female   
354   800195   800438 Albania Albanian     May       2006      Female   
355   800162   800439 Albania Albanian     September 2006      Female   
356   800101   800440 Albania Albanian     June      2006      Male     
357   800191   800442 Albania Albanian     May       2006      Male     
358   800204   800443 Albania Albanian     July      2006      Male     
359   800229   800444 Albania Albanian     March     2006      Male     
360   800257   800445 Albania Albanian     January   2006      Female   
361   800050   800446 Albania Albanian     August    2006      Male     
362   800096   800447 Albania Albanian     October   2006      Female   
363   800291   800449 Albania Albanian     July      2006      Female   
364   800031   800451 Albania Albanian     January   2006      Male     
365   800051   800453 Albania Albanian     August    2006      Male     
366   800195   800454 Albania Albanian     March     2006      Female   
367   800088   800456 Albania Albanian     February  2006      Male     
368   800089   800457 Albania Albanian     July      2006      Male     
369   800103   800459 Albania Albanian     January   2006      Female   
370   800280   800460 Albania Albanian     January   2006      Female   
371   800273   800461 Albania <NA>         December  2006      Female   
372   800246   800462 Albania Albanian     June      2006      Male     
373   800092   800463 Albania Albanian     March     2006      Male     
374   800027   800465 Albania Albanian     July      2006      Male     
375   800133   800466 Albania Albanian     September 2006      Male     
376   800101   800467 Albania Albanian     March     2006      Male     
377   800149   800468 Albania Albanian     May       2006      Male     
378   800253   800469 Albania Albanian     September 2006      Male     
379   800063   800470 Albania Albanian     July      2006      Female   
380   800286   800471 Albania Albanian     December  2006      Female   
381   800208   800472 Albania Albanian     June      2006      Female   
382   800272   800473 Albania Albanian     February  2006      Male     
383   800020   800474 Albania Albanian     December  2006      Male     
384   800112   800475 Albania Albanian     November  2006      Female   
385   800281   800477 Albania Albanian     July      2006      Male     
386   800024   800478 Albania Albanian     March     2006      Male     
387   800090   800479 Albania Albanian     November  2006      Male     
388   800078   800480 Albania Albanian     May       2006      Female   
389   800019   800481 Albania Albanian     February  2006      Female   
390   800168   800482 Albania Albanian     October   2006      Male     
391   800022   800484 Albania Albanian     November  2006      Male     
392   800251   800485 Albania Albanian     September 2006      Male     
393   800247   800486 Albania Albanian     February  2006      Male     
394   800243   800488 Albania Albanian     December  2006      Female   
395   800231   800489 Albania Albanian     April     2006      Female   
396   800012   800490 Albania Albanian     August    2006      Female   
397   800071   800491 Albania Albanian     March     2006      Male     
398   800263   800492 Albania Albanian     August    2006      Female   
399   800272   800493 Albania <NA>         May       2006      Male     
400   800268   800494 Albania Albanian     November  2006      Female   
401   800069   800495 Albania Albanian     September 2006      Male     
402   800233   800496 Albania Albanian     March     2006      Male     
403   800036   800498 Albania Albanian     February  2006      Female   
404   800191   800499 Albania Albanian     May       2006      Female   
405   800204   800500 Albania Albanian     May       2006      Female   
406   800229   800501 Albania Albanian     August    2006      Female   
407   800161   800504 Albania Albanian     July      2006      Male     
408   800001   800505 Albania Albanian     June      2006      Male     
409   800201   800506 Albania Albanian     April     2006      Male     
410   800204   800507 Albania Albanian     September 2006      Female   
411   800112   800508 Albania Albanian     April     2006      Female   
412   800233   800509 Albania Albanian     January   2006      Female   
413   800014   800510 Albania Albanian     August    2006      Female   
414   800212   800511 Albania Albanian     February  2006      Female   
415   800091   800512 Albania Albanian     March     2006      Male     
416   800276   800514 Albania Albanian     September 2006      Female   
417   800257   800516 Albania Albanian     July      2006      Female   
418   800028   800517 Albania Albanian     February  2006      Male     
419   800285   800518 Albania Albanian     July      2006      Female   
420   800029   800520 Albania Albanian     October   2006      Male     
421   800026   800521 Albania Albanian     April     2006      Female   
422   800059   800522 Albania Albanian     September 2006      Female   
423   800197   800523 Albania Albanian     January   2006      Female   
424   800195   800525 Albania Albanian     January   2006      Male     
425   800212   800526 Albania Albanian     March     2006      Female   
426   800189   800528 Albania Albanian     November  2006      Female   
427   800217   800529 Albania Albanian     June      2006      Female   
428   800017   800530 Albania Albanian     February  2006      Male     
429   800295   800531 Albania Albanian     November  2006      Female   
430   800233   800532 Albania Albanian     March     2006      Male     
431   800056   800533 Albania Albanian     August    2006      Male     
432   800095   800534 Albania Albanian     June      2006      Male     
433   800149   800535 Albania Albanian     March     2006      Female   
434   800187   800536 Albania Albanian     August    2006      Female   
435   800054   800537 Albania Albanian     August    2006      Male     
436   800254   800538 Albania Albanian     September 2006      Female   
437   800087   800539 Albania Albanian     May       2006      Male     
438   800197   800540 Albania Albanian     September 2006      Male     
439   800166   800543 Albania Albanian     May       2006      Male     
440   800057   800544 Albania Albanian     April     2006      Female   
441   800199   800545 Albania Albanian     December  2006      Male     
442   800035   800547 Albania Albanian     November  2006      Male     
443   800285   800549 Albania Albanian     August    2006      Male     
444   800132   800551 Albania Albanian     May       2006      Female   
445   800150   800552 Albania Albanian     January   2006      Male     
446   800184   800553 Albania Albanian     September 2006      Female   
447   800029   800554 Albania Albanian     November  2006      Male     
448   800112   800555 Albania Albanian     October   2006      Female   
449   800276   800558 Albania Albanian     May       2006      Male     
450   800267   800559 Albania Albanian     May       2006      Female   
451   800104   800560 Albania Albanian     August    2006      Female   
452   800180   800561 Albania Albanian     January   2006      Female   
453   800190   800562 Albania Albanian     July      2006      Female   
454   800266   800564 Albania Albanian     June      2006      Female   
455   800042   800566 Albania Albanian     August    2006      Female   
456   800198   800567 Albania Albanian     March     2006      Male     
457   800096   800568 Albania Albanian     August    2006      Female   
458   800238   800569 Albania Albanian     November  2006      Female   
459   800262   800570 Albania Albanian     April     2006      Female   
460   800158   800571 Albania Albanian     September 2006      Female   
461   800022   800572 Albania Albanian     November  2006      Male     
462   800265   800573 Albania Albanian     March     2006      Male     
463   800047   800574 Albania Albanian     April     2006      Male     
464   800056   800575 Albania Albanian     February  2006      Female   
465   800188   800576 Albania Albanian     March     2006      Male     
466   800241   800578 Albania Albanian     December  2006      Female   
467   800158   800579 Albania Albanian     September 2006      Male     
468   800172   800580 Albania Albanian     April     2006      Female   
469   800142   800581 Albania Albanian     August    2006      Male     
470   800012   800582 Albania Albanian     December  2006      Female   
471   800175   800583 Albania Albanian     July      2006      Male     
472   800056   800584 Albania Albanian     May       2006      Female   
473   800114   800585 Albania Albanian     May       2006      Female   
474   800279   800586 Albania Albanian     June      2006      Female   
475   800261   800587 Albania Albanian     March     2006      Female   
476   800291   800588 Albania Albanian     December  2006      Female   
477   800276   800589 Albania Albanian     January   2006      Male     
478   800138   800590 Albania Albanian     May       2006      Female   
479   800040   800591 Albania Albanian     April     2006      Male     
480   800001   800592 Albania Albanian     August    2006      Male     
481   800114   800593 Albania Albanian     October   2006      Male     
482   800080   800594 Albania Albanian     May       2006      Female   
483   800061   800596 Albania Albanian     May       2006      Female   
484   800145   800597 Albania Albanian     September 2006      Female   
485   800149   800598 Albania Albanian     February  2006      Female   
486   800236   800599 Albania Albanian     December  2006      Male     
487   800038   800600 Albania Albanian     January   2006      Female   
488   800125   800601 Albania Albanian     November  2006      Male     
489   800072   800602 Albania Albanian     August    2006      Male     
490   800094   800603 Albania Albanian     June      2006      Female   
491   800252   800605 Albania Albanian     March     2006      Female   
492   800013   800606 Albania Albanian     October   2006      Male     
493   800196   800608 Albania Albanian     May       2006      Female   
494   800019   800609 Albania Albanian     January   2006      Male     
495   800222   800610 Albania Albanian     December  2006      Female   
496   800193   800611 Albania Albanian     November  2006      Male     
497   800293   800612 Albania Albanian     January   2006      Female   
498   800072   800613 Albania Albanian     December  2006      Male     
499   800077   800615 Albania Albanian     October   2006      Female   
500   800176   800616 Albania Albanian     August    2006      Female   
# ℹ 613,244 more rows
# ℹ 75 more variables: ST250Q01JA <fct>, ST250Q02JA <fct>, ST250Q03JA <fct>,
#   ST250Q05JA <fct>, ST251Q01JA <fct>, ST251Q06JA <fct>, ST251Q07JA <fct>,
#   ST253Q01JA <fct>, ST254Q01JA <fct>, ST254Q02JA <fct>, ST254Q03JA <fct>,
#   ST254Q04JA <fct>, ST254Q05JA <fct>, ST254Q06JA <fct>, ST255Q01JA <fct>,
#   ST256Q02JA <fct>, ST005Q01JA <fct>, ST007Q01JA <fct>, ST019AQ01T <fct>,
#   ST019BQ01T <fct>, ST019CQ01T <fct>, ST125Q01NA <fct>, ST261Q01JA <fct>, …

You might find that you have a vector of column names that you want to select, to do this, we can use the any_of command:

my_fields <- c("CNT", "CNTSCHID", "ST004D01T")
PISA_2022 %>% select(any_of(my_fields))
# A tibble: 613,744 × 3
    CNT     CNTSCHID ST004D01T
    <fct>      <dbl> <fct>    
  1 Albania   800282 Female   
  2 Albania   800115 Male     
  3 Albania   800242 Male     
  4 Albania   800245 Female   
  5 Albania   800285 Female   
  6 Albania   800172 Male     
  7 Albania   800082 Male     
  8 Albania   800274 Female   
  9 Albania   800057 Female   
 10 Albania   800132 Female   
 11 Albania   800231 Male     
 12 Albania   800097 Male     
 13 Albania   800040 Male     
 14 Albania   800150 Male     
 15 Albania   800161 Female   
 16 Albania   800039 Female   
 17 Albania   800265 Male     
 18 Albania   800265 Female   
 19 Albania   800123 Female   
 20 Albania   800079 Female   
 21 Albania   800163 Male     
 22 Albania   800009 Male     
 23 Albania   800236 Male     
 24 Albania   800282 Female   
 25 Albania   800172 Female   
 26 Albania   800042 Female   
 27 Albania   800055 Female   
 28 Albania   800097 Female   
 29 Albania   800161 Male     
 30 Albania   800191 Female   
 31 Albania   800281 Male     
 32 Albania   800205 Male     
 33 Albania   800144 Male     
 34 Albania   800286 Female   
 35 Albania   800282 Female   
 36 Albania   800286 Male     
 37 Albania   800174 Female   
 38 Albania   800268 Female   
 39 Albania   800061 Female   
 40 Albania   800257 Female   
 41 Albania   800212 Female   
 42 Albania   800056 Male     
 43 Albania   800232 Female   
 44 Albania   800095 Male     
 45 Albania   800265 Male     
 46 Albania   800284 Female   
 47 Albania   800193 Female   
 48 Albania   800241 Male     
 49 Albania   800276 Male     
 50 Albania   800232 Female   
 51 Albania   800138 Female   
 52 Albania   800274 Female   
 53 Albania   800054 Female   
 54 Albania   800165 Male     
 55 Albania   800206 Male     
 56 Albania   800246 Female   
 57 Albania   800123 Male     
 58 Albania   800201 Male     
 59 Albania   800269 Male     
 60 Albania   800265 Male     
 61 Albania   800162 Male     
 62 Albania   800261 Female   
 63 Albania   800197 Female   
 64 Albania   800022 Female   
 65 Albania   800157 Male     
 66 Albania   800174 Male     
 67 Albania   800187 Female   
 68 Albania   800036 Female   
 69 Albania   800291 Female   
 70 Albania   800224 Male     
 71 Albania   800116 Female   
 72 Albania   800130 Female   
 73 Albania   800022 Male     
 74 Albania   800096 Male     
 75 Albania   800265 Female   
 76 Albania   800281 Male     
 77 Albania   800042 Female   
 78 Albania   800081 Male     
 79 Albania   800115 Male     
 80 Albania   800203 Female   
 81 Albania   800008 Male     
 82 Albania   800111 Male     
 83 Albania   800204 Female   
 84 Albania   800281 Male     
 85 Albania   800253 Male     
 86 Albania   800158 Male     
 87 Albania   800160 Male     
 88 Albania   800281 Male     
 89 Albania   800089 Male     
 90 Albania   800065 Male     
 91 Albania   800063 Female   
 92 Albania   800279 Male     
 93 Albania   800118 Female   
 94 Albania   800241 Male     
 95 Albania   800209 Male     
 96 Albania   800195 Male     
 97 Albania   800059 Female   
 98 Albania   800155 Male     
 99 Albania   800256 Female   
100 Albania   800253 Female   
101 Albania   800232 Female   
102 Albania   800023 Male     
103 Albania   800246 Female   
104 Albania   800038 Female   
105 Albania   800296 Male     
106 Albania   800099 Male     
107 Albania   800116 Female   
108 Albania   800267 Male     
109 Albania   800047 Female   
110 Albania   800172 Male     
111 Albania   800201 Male     
112 Albania   800118 Female   
113 Albania   800233 Male     
114 Albania   800174 Male     
115 Albania   800254 Male     
116 Albania   800236 Female   
117 Albania   800193 Female   
118 Albania   800088 Male     
119 Albania   800222 Male     
120 Albania   800051 Female   
121 Albania   800156 Female   
122 Albania   800083 Female   
123 Albania   800159 Male     
124 Albania   800063 Male     
125 Albania   800117 Female   
126 Albania   800094 Female   
127 Albania   800201 Male     
128 Albania   800028 Female   
129 Albania   800163 Female   
130 Albania   800105 Female   
131 Albania   800057 Male     
132 Albania   800291 Male     
133 Albania   800170 Female   
134 Albania   800023 Male     
135 Albania   800197 Female   
136 Albania   800157 Female   
137 Albania   800162 Male     
138 Albania   800089 Male     
139 Albania   800002 Female   
140 Albania   800150 Female   
141 Albania   800090 Female   
142 Albania   800004 Male     
143 Albania   800175 Male     
144 Albania   800266 Male     
145 Albania   800137 Male     
146 Albania   800047 Female   
147 Albania   800063 Male     
148 Albania   800027 Male     
149 Albania   800280 Female   
150 Albania   800038 Male     
151 Albania   800191 Male     
152 Albania   800262 Female   
153 Albania   800281 Male     
154 Albania   800008 Female   
155 Albania   800019 Female   
156 Albania   800063 Female   
157 Albania   800161 Male     
158 Albania   800146 Male     
159 Albania   800176 Female   
160 Albania   800118 Female   
161 Albania   800024 Female   
162 Albania   800157 Female   
163 Albania   800286 Male     
164 Albania   800038 Male     
165 Albania   800175 Female   
166 Albania   800196 Male     
167 Albania   800045 Female   
168 Albania   800247 Male     
169 Albania   800174 Male     
170 Albania   800183 Male     
171 Albania   800295 Male     
172 Albania   800276 Female   
173 Albania   800268 Male     
174 Albania   800077 Male     
175 Albania   800138 Female   
176 Albania   800059 Female   
177 Albania   800262 Male     
178 Albania   800055 Male     
179 Albania   800222 Male     
180 Albania   800262 Male     
181 Albania   800267 Female   
182 Albania   800232 Male     
183 Albania   800142 Male     
184 Albania   800267 Male     
185 Albania   800133 Female   
186 Albania   800291 Female   
187 Albania   800064 Female   
188 Albania   800271 Female   
189 Albania   800084 Female   
190 Albania   800114 Female   
191 Albania   800065 Male     
192 Albania   800149 Male     
193 Albania   800118 Female   
194 Albania   800047 Male     
195 Albania   800097 Female   
196 Albania   800201 Male     
197 Albania   800008 Male     
198 Albania   800243 Male     
199 Albania   800240 Male     
200 Albania   800107 Female   
201 Albania   800191 Male     
202 Albania   800083 Female   
203 Albania   800026 Female   
204 Albania   800083 Female   
205 Albania   800262 Male     
206 Albania   800002 Male     
207 Albania   800094 Female   
208 Albania   800107 Female   
209 Albania   800283 Male     
210 Albania   800066 Male     
211 Albania   800118 Female   
212 Albania   800166 Female   
213 Albania   800027 Male     
214 Albania   800173 Male     
215 Albania   800266 Male     
216 Albania   800210 Female   
217 Albania   800200 Female   
218 Albania   800201 Male     
219 Albania   800166 Male     
220 Albania   800048 Female   
221 Albania   800029 Female   
222 Albania   800101 Male     
223 Albania   800022 Female   
224 Albania   800091 Female   
225 Albania   800203 Female   
226 Albania   800022 Male     
227 Albania   800100 Female   
228 Albania   800293 Male     
229 Albania   800203 Female   
230 Albania   800266 Male     
231 Albania   800196 Male     
232 Albania   800274 Female   
233 Albania   800034 Female   
234 Albania   800108 Female   
235 Albania   800091 Male     
236 Albania   800040 Male     
237 Albania   800163 Female   
238 Albania   800108 Male     
239 Albania   800190 Male     
240 Albania   800001 Male     
241 Albania   800009 Female   
242 Albania   800293 Male     
243 Albania   800056 Female   
244 Albania   800265 Female   
245 Albania   800282 Female   
246 Albania   800246 Male     
247 Albania   800267 Female   
248 Albania   800020 Female   
249 Albania   800120 Male     
250 Albania   800284 Female   
251 Albania   800261 Male     
252 Albania   800265 Female   
253 Albania   800255 Female   
254 Albania   800048 Male     
255 Albania   800061 Male     
256 Albania   800007 Female   
257 Albania   800064 Female   
258 Albania   800137 Male     
259 Albania   800222 Male     
260 Albania   800262 Male     
261 Albania   800019 Female   
262 Albania   800241 Male     
263 Albania   800162 Male     
264 Albania   800163 Female   
265 Albania   800241 Female   
266 Albania   800149 Female   
267 Albania   800203 Male     
268 Albania   800108 Female   
269 Albania   800212 Male     
270 Albania   800009 Female   
271 Albania   800055 Male     
272 Albania   800007 Female   
273 Albania   800285 Male     
274 Albania   800159 Male     
275 Albania   800020 Female   
276 Albania   800231 Female   
277 Albania   800257 Male     
278 Albania   800128 Female   
279 Albania   800026 Female   
280 Albania   800087 Male     
281 Albania   800222 Male     
282 Albania   800123 Female   
283 Albania   800054 Male     
284 Albania   800190 Male     
285 Albania   800174 Male     
286 Albania   800098 Female   
287 Albania   800125 Male     
288 Albania   800201 Male     
289 Albania   800064 Female   
290 Albania   800212 Male     
291 Albania   800029 Female   
292 Albania   800022 Male     
293 Albania   800188 Male     
294 Albania   800040 Female   
295 Albania   800159 Female   
296 Albania   800236 Male     
297 Albania   800254 Male     
298 Albania   800294 Male     
299 Albania   800166 Female   
300 Albania   800094 Female   
301 Albania   800280 Male     
302 Albania   800054 Female   
303 Albania   800065 Male     
304 Albania   800082 Male     
305 Albania   800265 Male     
306 Albania   800186 Male     
307 Albania   800127 Female   
308 Albania   800279 Male     
309 Albania   800278 Male     
310 Albania   800117 Female   
311 Albania   800163 Male     
312 Albania   800052 Male     
313 Albania   800001 Female   
314 Albania   800038 Female   
315 Albania   800184 Male     
316 Albania   800090 Female   
317 Albania   800092 Male     
318 Albania   800092 Female   
319 Albania   800244 Female   
320 Albania   800174 Female   
321 Albania   800228 Male     
322 Albania   800083 Female   
323 Albania   800241 Female   
324 Albania   800209 Female   
325 Albania   800267 Female   
326 Albania   800227 Male     
327 Albania   800247 Male     
328 Albania   800263 Female   
329 Albania   800242 Male     
330 Albania   800172 Male     
331 Albania   800279 Female   
332 Albania   800130 Male     
333 Albania   800285 Female   
334 Albania   800089 Female   
335 Albania   800064 Female   
336 Albania   800023 Male     
337 Albania   800024 Male     
338 Albania   800276 Female   
339 Albania   800285 Female   
340 Albania   800118 Male     
341 Albania   800150 Male     
342 Albania   800131 Male     
343 Albania   800206 Female   
344 Albania   800291 Female   
345 Albania   800263 Male     
346 Albania   800198 Male     
347 Albania   800059 Male     
348 Albania   800203 Male     
349 Albania   800017 Male     
350 Albania   800001 Female   
351 Albania   800278 Male     
352 Albania   800197 Female   
353 Albania   800061 Female   
354 Albania   800195 Female   
355 Albania   800162 Female   
356 Albania   800101 Male     
357 Albania   800191 Male     
358 Albania   800204 Male     
359 Albania   800229 Male     
360 Albania   800257 Female   
361 Albania   800050 Male     
362 Albania   800096 Female   
363 Albania   800291 Female   
364 Albania   800031 Male     
365 Albania   800051 Male     
366 Albania   800195 Female   
367 Albania   800088 Male     
368 Albania   800089 Male     
369 Albania   800103 Female   
370 Albania   800280 Female   
371 Albania   800273 Female   
372 Albania   800246 Male     
373 Albania   800092 Male     
374 Albania   800027 Male     
375 Albania   800133 Male     
376 Albania   800101 Male     
377 Albania   800149 Male     
378 Albania   800253 Male     
379 Albania   800063 Female   
380 Albania   800286 Female   
381 Albania   800208 Female   
382 Albania   800272 Male     
383 Albania   800020 Male     
384 Albania   800112 Female   
385 Albania   800281 Male     
386 Albania   800024 Male     
387 Albania   800090 Male     
388 Albania   800078 Female   
389 Albania   800019 Female   
390 Albania   800168 Male     
391 Albania   800022 Male     
392 Albania   800251 Male     
393 Albania   800247 Male     
394 Albania   800243 Female   
395 Albania   800231 Female   
396 Albania   800012 Female   
397 Albania   800071 Male     
398 Albania   800263 Female   
399 Albania   800272 Male     
400 Albania   800268 Female   
401 Albania   800069 Male     
402 Albania   800233 Male     
403 Albania   800036 Female   
404 Albania   800191 Female   
405 Albania   800204 Female   
406 Albania   800229 Female   
407 Albania   800161 Male     
408 Albania   800001 Male     
409 Albania   800201 Male     
410 Albania   800204 Female   
411 Albania   800112 Female   
412 Albania   800233 Female   
413 Albania   800014 Female   
414 Albania   800212 Female   
415 Albania   800091 Male     
416 Albania   800276 Female   
417 Albania   800257 Female   
418 Albania   800028 Male     
419 Albania   800285 Female   
420 Albania   800029 Male     
421 Albania   800026 Female   
422 Albania   800059 Female   
423 Albania   800197 Female   
424 Albania   800195 Male     
425 Albania   800212 Female   
426 Albania   800189 Female   
427 Albania   800217 Female   
428 Albania   800017 Male     
429 Albania   800295 Female   
430 Albania   800233 Male     
431 Albania   800056 Male     
432 Albania   800095 Male     
433 Albania   800149 Female   
434 Albania   800187 Female   
435 Albania   800054 Male     
436 Albania   800254 Female   
437 Albania   800087 Male     
438 Albania   800197 Male     
439 Albania   800166 Male     
440 Albania   800057 Female   
441 Albania   800199 Male     
442 Albania   800035 Male     
443 Albania   800285 Male     
444 Albania   800132 Female   
445 Albania   800150 Male     
446 Albania   800184 Female   
447 Albania   800029 Male     
448 Albania   800112 Female   
449 Albania   800276 Male     
450 Albania   800267 Female   
451 Albania   800104 Female   
452 Albania   800180 Female   
453 Albania   800190 Female   
454 Albania   800266 Female   
455 Albania   800042 Female   
456 Albania   800198 Male     
457 Albania   800096 Female   
458 Albania   800238 Female   
459 Albania   800262 Female   
460 Albania   800158 Female   
461 Albania   800022 Male     
462 Albania   800265 Male     
463 Albania   800047 Male     
464 Albania   800056 Female   
465 Albania   800188 Male     
466 Albania   800241 Female   
467 Albania   800158 Male     
468 Albania   800172 Female   
469 Albania   800142 Male     
470 Albania   800012 Female   
471 Albania   800175 Male     
472 Albania   800056 Female   
473 Albania   800114 Female   
474 Albania   800279 Female   
475 Albania   800261 Female   
476 Albania   800291 Female   
477 Albania   800276 Male     
478 Albania   800138 Female   
479 Albania   800040 Male     
480 Albania   800001 Male     
481 Albania   800114 Male     
482 Albania   800080 Female   
483 Albania   800061 Female   
484 Albania   800145 Female   
485 Albania   800149 Female   
486 Albania   800236 Male     
487 Albania   800038 Female   
488 Albania   800125 Male     
489 Albania   800072 Male     
490 Albania   800094 Female   
491 Albania   800252 Female   
492 Albania   800013 Male     
493 Albania   800196 Female   
494 Albania   800019 Male     
495 Albania   800222 Female   
496 Albania   800193 Male     
497 Albania   800293 Female   
498 Albania   800072 Male     
499 Albania   800077 Female   
500 Albania   800176 Female   
# ℹ 613,244 more rows

With hundreds of fields available, you might want to focus on fields whose names match a certain pattern, to do this you can use starts_with, ends_with, contains:

# country of birth of student, and father and mother are recorded in ST019___
PISA_2022 %>% select(starts_with("ST019"))
# A tibble: 613,744 × 3
    ST019AQ01T      ST019BQ01T      ST019CQ01T     
    <fct>           <fct>           <fct>          
  1 Country of test Country of test Country of test
  2 Country of test Country of test Country of test
  3 Other country   Country of test Country of test
  4 Country of test Country of test Country of test
  5 Country of test Country of test Country of test
  6 Country of test Country of test Country of test
  7 Country of test Country of test Country of test
  8 Country of test Country of test Country of test
  9 Country of test Country of test Country of test
 10 Country of test Country of test Country of test
 11 Country of test Country of test Country of test
 12 I don't know.   I don't know.   I don't know.  
 13 <NA>            <NA>            <NA>           
 14 Country of test Country of test Country of test
 15 Country of test Country of test Country of test
 16 Country of test Country of test Country of test
 17 Country of test Country of test Country of test
 18 Country of test Country of test Country of test
 19 Country of test Country of test Country of test
 20 Country of test Country of test Country of test
 21 Country of test Country of test Country of test
 22 Country of test Country of test Country of test
 23 Country of test Country of test Country of test
 24 Country of test Country of test Country of test
 25 <NA>            <NA>            <NA>           
 26 Country of test Country of test Country of test
 27 Country of test Country of test Country of test
 28 Country of test Country of test Country of test
 29 Country of test Country of test Country of test
 30 Other country   Country of test Country of test
 31 Other country   Country of test I don't know.  
 32 Country of test Country of test Country of test
 33 Country of test Country of test Country of test
 34 Country of test Country of test Country of test
 35 Country of test Country of test Country of test
 36 Country of test Country of test Country of test
 37 Country of test Country of test Country of test
 38 Country of test Country of test Country of test
 39 Country of test Country of test Country of test
 40 Country of test Country of test Country of test
 41 <NA>            Country of test Country of test
 42 I don't know.   Other country   <NA>           
 43 Country of test Country of test Country of test
 44 Country of test Country of test Country of test
 45 Country of test Country of test Country of test
 46 Country of test Country of test Country of test
 47 Country of test Country of test Country of test
 48 <NA>            <NA>            <NA>           
 49 Country of test Country of test Country of test
 50 Country of test Country of test Country of test
 51 Country of test Country of test Country of test
 52 Country of test Country of test Country of test
 53 Country of test Country of test Country of test
 54 Country of test Country of test Country of test
 55 Country of test Country of test Country of test
 56 Country of test Country of test Country of test
 57 Other country   Country of test Country of test
 58 <NA>            <NA>            <NA>           
 59 Country of test Country of test Country of test
 60 Country of test Country of test Country of test
 61 Country of test Country of test Country of test
 62 Country of test Country of test Country of test
 63 Country of test Country of test Country of test
 64 Country of test Country of test Country of test
 65 <NA>            <NA>            <NA>           
 66 Country of test Country of test Country of test
 67 Other country   Country of test Other country  
 68 Country of test Country of test Country of test
 69 Country of test Country of test Country of test
 70 Country of test Country of test Country of test
 71 Country of test Country of test Country of test
 72 <NA>            <NA>            <NA>           
 73 Country of test Country of test Country of test
 74 Country of test Country of test Country of test
 75 Other country   Country of test Country of test
 76 <NA>            <NA>            <NA>           
 77 Country of test Country of test Country of test
 78 Country of test Country of test Country of test
 79 <NA>            Country of test <NA>           
 80 Country of test Country of test Country of test
 81 Country of test Country of test Country of test
 82 Country of test Country of test Country of test
 83 <NA>            <NA>            Country of test
 84 <NA>            <NA>            <NA>           
 85 Country of test Other country   Other country  
 86 Country of test Country of test Country of test
 87 Country of test Country of test Country of test
 88 Country of test Country of test Country of test
 89 Country of test Country of test Country of test
 90 <NA>            <NA>            <NA>           
 91 Other country   Country of test Country of test
 92 Country of test Country of test Country of test
 93 Country of test Country of test Country of test
 94 <NA>            <NA>            <NA>           
 95 Country of test Country of test Country of test
 96 Country of test Country of test Country of test
 97 Country of test Country of test Country of test
 98 Country of test Country of test Country of test
 99 Country of test Country of test Country of test
100 Country of test Country of test Country of test
101 Country of test Country of test Country of test
102 Country of test Country of test Country of test
103 Country of test Country of test Country of test
104 Other country   Country of test Country of test
105 Country of test Country of test Country of test
106 <NA>            I don't know.   Other country  
107 Country of test Country of test Country of test
108 <NA>            <NA>            <NA>           
109 <NA>            Country of test Country of test
110 <NA>            <NA>            <NA>           
111 Country of test Country of test Country of test
112 Country of test Country of test Country of test
113 Country of test Country of test Country of test
114 Other country   Country of test Country of test
115 <NA>            <NA>            <NA>           
116 Country of test Country of test Country of test
117 <NA>            Country of test Country of test
118 Other country   <NA>            <NA>           
119 Country of test Country of test Country of test
120 Country of test Country of test Country of test
121 Country of test Country of test Country of test
122 Country of test Country of test Country of test
123 Country of test Country of test Country of test
124 Country of test Country of test Country of test
125 Other country   Country of test <NA>           
126 Other country   Country of test Country of test
127 Country of test Country of test Country of test
128 Country of test Country of test Country of test
129 Country of test Country of test Country of test
130 I don't know.   Country of test Country of test
131 Country of test Country of test Country of test
132 <NA>            <NA>            <NA>           
133 Country of test Country of test Country of test
134 Country of test Country of test Country of test
135 Country of test Country of test Country of test
136 Country of test Country of test Country of test
137 Country of test Country of test Country of test
138 Country of test Country of test Country of test
139 Country of test Country of test Country of test
140 Country of test Country of test Country of test
141 Country of test Other country   I don't know.  
142 <NA>            <NA>            <NA>           
143 <NA>            <NA>            <NA>           
144 <NA>            <NA>            <NA>           
145 <NA>            <NA>            <NA>           
146 Country of test Country of test Country of test
147 Country of test Country of test Country of test
148 Country of test Country of test Country of test
149 Country of test Country of test Country of test
150 Country of test Country of test Country of test
151 Country of test Country of test Country of test
152 Country of test Country of test Country of test
153 Country of test Country of test Country of test
154 Country of test Country of test Country of test
155 Country of test Country of test Country of test
156 Country of test Country of test Country of test
157 Country of test Country of test Country of test
158 Country of test Country of test Country of test
159 Country of test Country of test Country of test
160 Country of test Country of test Country of test
161 Country of test Country of test Country of test
162 Country of test Country of test Country of test
163 Other country   <NA>            <NA>           
164 Country of test Country of test Country of test
165 Country of test Country of test Country of test
166 Country of test Country of test Country of test
167 Country of test Other country   I don't know.  
168 Country of test Country of test Country of test
169 <NA>            <NA>            <NA>           
170 Country of test Country of test Country of test
171 Country of test Country of test Country of test
172 Country of test Country of test Country of test
173 <NA>            <NA>            <NA>           
174 Country of test Country of test Country of test
175 Country of test Country of test Country of test
176 <NA>            Country of test Country of test
177 Country of test Country of test Country of test
178 Country of test Country of test Country of test
179 Country of test Country of test Country of test
180 <NA>            <NA>            Country of test
181 <NA>            <NA>            <NA>           
182 Country of test Country of test Country of test
183 <NA>            <NA>            <NA>           
184 Country of test Country of test Country of test
185 Country of test Country of test Country of test
186 Country of test Country of test Country of test
187 Country of test Other country   <NA>           
188 Country of test Country of test Country of test
189 <NA>            <NA>            <NA>           
190 Country of test Country of test Country of test
191 Country of test Country of test Country of test
192 Country of test Country of test Country of test
193 Country of test Country of test Country of test
194 Country of test Country of test Country of test
195 Country of test Country of test Country of test
196 <NA>            <NA>            <NA>           
197 Country of test Country of test Country of test
198 Country of test Country of test Country of test
199 Other country   Other country   Other country  
200 Country of test Country of test Country of test
201 Country of test Country of test Country of test
202 Country of test Country of test Country of test
203 Country of test Country of test Country of test
204 Country of test Country of test Country of test
205 Country of test Country of test Country of test
206 Country of test Country of test Country of test
207 Country of test Country of test Country of test
208 Country of test Country of test Country of test
209 Country of test Country of test Country of test
210 Country of test Country of test Country of test
211 Country of test Country of test Country of test
212 <NA>            Country of test Country of test
213 Country of test Country of test Country of test
214 Country of test Country of test Country of test
215 <NA>            <NA>            <NA>           
216 Country of test Country of test Country of test
217 <NA>            <NA>            <NA>           
218 <NA>            Country of test Country of test
219 <NA>            <NA>            <NA>           
220 Country of test Country of test Country of test
221 Country of test Country of test Country of test
222 Country of test Country of test Country of test
223 Country of test Country of test Country of test
224 Country of test Country of test Country of test
225 Other country   Country of test Country of test
226 Other country   Other country   Country of test
227 Country of test Country of test Country of test
228 <NA>            <NA>            <NA>           
229 Country of test Country of test Country of test
230 Country of test Country of test Country of test
231 Other country   Country of test Country of test
232 Country of test Country of test Country of test
233 Country of test Country of test Country of test
234 <NA>            <NA>            <NA>           
235 <NA>            Country of test <NA>           
236 Country of test Country of test Country of test
237 Country of test Country of test Country of test
238 Country of test Country of test Country of test
239 <NA>            <NA>            <NA>           
240 Country of test Country of test Country of test
241 Country of test Country of test Country of test
242 Country of test Country of test Country of test
243 Country of test Country of test Country of test
244 Country of test Country of test Country of test
245 Country of test Country of test Country of test
246 Country of test Country of test Country of test
247 Country of test Country of test Country of test
248 Other country   Country of test Country of test
249 Country of test Country of test Country of test
250 Country of test Country of test Country of test
251 Country of test Country of test Country of test
252 Country of test Country of test Other country  
253 Country of test Country of test Country of test
254 Country of test Country of test Country of test
255 Country of test Country of test Country of test
256 <NA>            <NA>            <NA>           
257 Country of test Country of test Country of test
258 Country of test <NA>            <NA>           
259 Country of test Country of test Country of test
260 <NA>            <NA>            <NA>           
261 Other country   Country of test Country of test
262 <NA>            <NA>            <NA>           
263 Country of test <NA>            <NA>           
264 Country of test Country of test Country of test
265 <NA>            <NA>            <NA>           
266 Country of test Country of test Country of test
267 Country of test Country of test Country of test
268 <NA>            <NA>            <NA>           
269 Country of test Country of test Country of test
270 Other country   Country of test Country of test
271 <NA>            <NA>            <NA>           
272 Other country   Country of test Country of test
273 Country of test Country of test Country of test
274 Country of test Country of test Country of test
275 Other country   Country of test Country of test
276 Country of test Country of test Country of test
277 Country of test Country of test Country of test
278 Country of test Country of test Country of test
279 Country of test Country of test Country of test
280 Country of test Country of test Country of test
281 Country of test Country of test Country of test
282 Country of test Country of test Country of test
283 Country of test Country of test Country of test
284 Country of test Country of test Country of test
285 Country of test Country of test Country of test
286 Country of test Country of test Country of test
287 Country of test Country of test Country of test
288 Country of test Country of test Country of test
289 Country of test Country of test Country of test
290 Country of test Country of test Country of test
291 Country of test Country of test Country of test
292 Country of test Country of test Country of test
293 Country of test Country of test Country of test
294 Country of test Country of test Country of test
295 Country of test Country of test Country of test
296 Country of test Country of test Country of test
297 Country of test Country of test Country of test
298 Other country   Country of test Country of test
299 Country of test Country of test Country of test
300 Country of test Country of test Country of test
301 Country of test <NA>            <NA>           
302 Country of test Country of test Country of test
303 Country of test Country of test Country of test
304 Country of test Country of test Country of test
305 Other country   Country of test Country of test
306 Other country   Country of test Country of test
307 <NA>            Other country   Other country  
308 Country of test Country of test Country of test
309 <NA>            <NA>            <NA>           
310 Country of test Country of test Country of test
311 Country of test Country of test Country of test
312 Country of test Country of test Other country  
313 Other country   Country of test Country of test
314 Country of test Country of test Country of test
315 Other country   Country of test Country of test
316 Country of test Other country   I don't know.  
317 Country of test Country of test Country of test
318 Country of test Country of test Country of test
319 Country of test Country of test Country of test
320 Country of test Country of test Country of test
321 Country of test Country of test Country of test
322 Country of test Country of test Country of test
323 Country of test Country of test Country of test
324 <NA>            <NA>            <NA>           
325 <NA>            <NA>            <NA>           
326 Country of test Country of test Country of test
327 <NA>            <NA>            <NA>           
328 Country of test Country of test Country of test
329 <NA>            <NA>            Country of test
330 Country of test Country of test Country of test
331 Country of test Country of test Country of test
332 <NA>            <NA>            <NA>           
333 Country of test Country of test Other country  
334 Country of test Country of test Country of test
335 Country of test Country of test Country of test
336 Country of test Country of test Country of test
337 Country of test Country of test Country of test
338 Country of test Country of test Country of test
339 Other country   Country of test Country of test
340 Country of test Country of test Country of test
341 Country of test Country of test Country of test
342 Country of test Country of test Country of test
343 Country of test Country of test Country of test
344 Country of test Country of test Country of test
345 Other country   Country of test Country of test
346 <NA>            <NA>            <NA>           
347 <NA>            <NA>            <NA>           
348 Country of test Country of test Country of test
349 Country of test Country of test Country of test
350 Country of test Country of test Country of test
351 Country of test Country of test Country of test
352 Country of test Country of test Country of test
353 Other country   Country of test Country of test
354 Country of test Country of test Country of test
355 Country of test Country of test Country of test
356 Other country   Country of test Country of test
357 Country of test Country of test Country of test
358 Country of test Country of test Country of test
359 Country of test Country of test Country of test
360 Country of test Country of test Country of test
361 Country of test Country of test Country of test
362 Country of test Country of test Country of test
363 Country of test Country of test Country of test
364 Country of test Country of test Country of test
365 Country of test Country of test Country of test
366 Other country   Country of test Country of test
367 Country of test Country of test Country of test
368 Country of test Country of test Country of test
369 Country of test Country of test Country of test
370 Country of test Country of test Country of test
371 <NA>            <NA>            <NA>           
372 Other country   Country of test Country of test
373 Country of test Country of test Country of test
374 Country of test Country of test Country of test
375 Country of test Country of test Country of test
376 Country of test Country of test Country of test
377 Country of test Country of test Country of test
378 Country of test Country of test Country of test
379 <NA>            <NA>            <NA>           
380 Country of test Country of test Country of test
381 Country of test Country of test Country of test
382 Country of test Country of test Country of test
383 Country of test Country of test Country of test
384 Country of test Country of test Country of test
385 Country of test Country of test Country of test
386 Country of test I don't know.   Other country  
387 <NA>            Country of test <NA>           
388 Country of test Country of test Country of test
389 Other country   Country of test Country of test
390 Country of test Country of test Country of test
391 Country of test Country of test Country of test
392 Country of test Country of test Country of test
393 Country of test Country of test Country of test
394 Country of test Country of test Country of test
395 <NA>            <NA>            <NA>           
396 Country of test Country of test Country of test
397 <NA>            <NA>            <NA>           
398 Country of test Country of test Country of test
399 <NA>            <NA>            <NA>           
400 Country of test Country of test Country of test
401 <NA>            I don't know.   Other country  
402 Country of test Country of test Country of test
403 Other country   Other country   Other country  
404 Country of test Country of test Country of test
405 Country of test Country of test Country of test
406 Country of test Country of test Country of test
407 Country of test Country of test Country of test
408 Country of test Country of test Country of test
409 Country of test Country of test Country of test
410 <NA>            <NA>            I don't know.  
411 Country of test I don't know.   Other country  
412 Country of test Country of test Country of test
413 Country of test Country of test Country of test
414 Country of test Country of test Country of test
415 Other country   Country of test Country of test
416 Country of test Country of test Country of test
417 Country of test Country of test Country of test
418 <NA>            <NA>            <NA>           
419 Country of test Country of test Country of test
420 Country of test Country of test Country of test
421 Country of test Country of test Country of test
422 Country of test Country of test Country of test
423 Country of test Country of test Country of test
424 Country of test Country of test Country of test
425 <NA>            <NA>            <NA>           
426 <NA>            <NA>            <NA>           
427 Country of test Country of test Country of test
428 Country of test Country of test Country of test
429 Country of test Country of test Country of test
430 Country of test Country of test Country of test
431 Country of test Country of test Country of test
432 Country of test Country of test Country of test
433 Country of test <NA>            <NA>           
434 Country of test Country of test Country of test
435 <NA>            <NA>            <NA>           
436 Country of test Country of test Country of test
437 Country of test Country of test Country of test
438 Country of test Country of test Country of test
439 Country of test Country of test Country of test
440 Country of test Country of test Country of test
441 Country of test Country of test Country of test
442 <NA>            Country of test Country of test
443 Country of test Country of test Country of test
444 Country of test Country of test Country of test
445 Country of test Country of test Country of test
446 Country of test Country of test Country of test
447 Country of test Country of test Country of test
448 Country of test Country of test Country of test
449 Country of test Country of test Country of test
450 Country of test Country of test Country of test
451 Country of test <NA>            <NA>           
452 Country of test Country of test Country of test
453 Country of test Country of test Country of test
454 Country of test Country of test Country of test
455 Country of test Country of test Country of test
456 <NA>            Country of test Country of test
457 Country of test Country of test Country of test
458 Country of test Country of test Country of test
459 Country of test Country of test Country of test
460 Country of test Country of test Country of test
461 Other country   Country of test Country of test
462 Country of test Country of test Country of test
463 Country of test Country of test Country of test
464 <NA>            Country of test Country of test
465 <NA>            Country of test Country of test
466 Country of test Country of test Country of test
467 Country of test Country of test Country of test
468 Country of test Country of test Country of test
469 Country of test Country of test Country of test
470 Country of test Country of test Country of test
471 Country of test Country of test Country of test
472 Country of test Country of test Country of test
473 Country of test Country of test Country of test
474 Country of test Country of test Country of test
475 Country of test Other country   Other country  
476 Country of test Country of test Country of test
477 Country of test Country of test Country of test
478 Other country   Country of test Country of test
479 Country of test <NA>            <NA>           
480 Country of test Country of test Country of test
481 Country of test Country of test Country of test
482 Country of test Country of test Country of test
483 Country of test Country of test Country of test
484 Country of test Country of test Country of test
485 Country of test Country of test Country of test
486 <NA>            Country of test Country of test
487 Country of test Country of test Country of test
488 Country of test Country of test Country of test
489 Country of test Country of test Country of test
490 Country of test Country of test Country of test
491 Country of test Country of test Country of test
492 Country of test Country of test Country of test
493 Country of test Country of test Country of test
494 Country of test Country of test Country of test
495 Country of test Country of test Country of test
496 <NA>            Country of test Country of test
497 Country of test Country of test Country of test
498 Country of test Country of test Country of test
499 Country of test Country of test Country of test
500 Other country   Country of test Other country  
# ℹ 613,244 more rows

When you come to building your statistical models you often need to use numeric data, you can find the columns that have only numbers in them by the following. Be warned though, sometimes there are numeric fields which have a few words in them, so R treats them as characters. Use the PISA codebook to help work out where those numbers are.

PISA_2022 %>% select(where(is.numeric)) %>% names()
 [1] "CNTSCHID"   "CNTSTUID"   "ST016Q01NA" "WB151Q01HA" "WB152Q01HA"
 [6] "WB156Q01HA" "BELONG"     "BULLIED"    "DISCLIM"    "HOMEPOS"   
[11] "ESCS"       "ATTCONFM"   "ICTEFFIC"   "STUBMI"     "PQMIMP"    
[16] "PARINVOL"   "W_FSTUWT"   "PV1MATH"    "PV1READ"    "PV1SCIE"   
Tip

If you do want to change the type of a column to numeric you are going to need to:

  • filter out any offending rows, and
  • mutate the column to be numeric: col = as.numeric(col)

1.1 Questions

  1. Spot the three errors with the following select statement
PISA_2022 
  select(CNT BELONG) %>%
answer
PISA_2022 %>%  #1 missing pipe
  select(CNT, BELONG) #2 no comma between column names, #3 stray pipe on end
  1. Write a select statement to display the month ST003D02T and year of birth ST003D03T and the gender ST004D01T of each student.
answer
PISA_2022 %>% 
  select(ST003D02T, ST003D03T, ST004D01T)
  1. Write a select statement to show all the fields that are to do with well being and health, e.g. WB150Q01HA “How is your health?”
answer
PISA_2022 %>% 
  select(starts_with("WB15"))
  1. [EXTENSION] Adjust your answer to Q3 so that you select the gender ST004D01T and the ID CNTSTUID of each student in addition to the ST254____ fields looking at digital devices in the home:
answer
PISA_2022 %>% 
  select(CNTSTUID, ST004D01T, starts_with("ST254")) %>% na.omit()

2 filter

Not only does the PISA_2022 dataset have a huge number of columns, it has hundred of thousands of rows. We want to filter this down to the students that we are interested in, i.e. filter out data that isn’t useful for our analysis. If we only wanted the results that were Male, we could do the following:

PISA_2022 %>% 
  select(CNT, ESCS, ST004D01T, ST003D02T, PV1MATH) %>%
  filter(ST004D01T == "Male")
# A tibble: 307,906 × 5
    CNT        ESCS ST004D01T ST003D02T PV1MATH
    <fct>     <dbl> <fct>     <fct>       <dbl>
  1 Albania -3.05   Male      February     308.
  2 Albania -0.187  Male      August       268.
  3 Albania  1.09   Male      May          534.
  4 Albania -0.762  Male      May          382.
  5 Albania -1.98   Male      October      425.
  6 Albania  0.063  Male      April        463.
  7 Albania -0.170  Male      May          236.
  8 Albania -2.58   Male      August       327.
  9 Albania -1.09   Male      March        326.
 10 Albania -0.334  Male      October      428.
 11 Albania -2.10   Male      January      278.
 12 Albania -1.10   Male      October      395.
 13 Albania -1.20   Male      March        383.
 14 Albania -0.150  Male      May          301.
 15 Albania -1.71   Male      July         329.
 16 Albania -1.67   Male      December     487.
 17 Albania -0.420  Male      October      338.
 18 Albania  0.675  Male      February     310.
 19 Albania -0.872  Male      August       314.
 20 Albania  0.533  Male      March        174.
 21 Albania NA      Male      May          328.
 22 Albania -0.469  Male      May          366.
 23 Albania -0.858  Male      April        329.
 24 Albania -2.41   Male      June         287.
 25 Albania -1.22   Male      November     370.
 26 Albania -1.72   Male      June         280.
 27 Albania -2.44   Male      May          437.
 28 Albania  0.672  Male      July         438.
 29 Albania NA      Male      August       299.
 30 Albania NA      Male      January      381.
 31 Albania  0.641  Male      March        445.
 32 Albania -1.57   Male      June         495.
 33 Albania  0.358  Male      October      278.
 34 Albania -0.0888 Male      September    473.
 35 Albania NA      Male      July         277.
 36 Albania -1.18   Male      May          210.
 37 Albania -1.18   Male      September    305.
 38 Albania  0.991  Male      June         411.
 39 Albania -0.083  Male      August       332.
 40 Albania NA      Male      June         283.
 41 Albania -0.344  Male      December     404.
 42 Albania  0.381  Male      December     304.
 43 Albania  0.416  Male      October      205.
 44 Albania -0.171  Male      November     348.
 45 Albania -1.62   Male      April        478.
 46 Albania NA      Male      June         285.
 47 Albania  0.592  Male      January      398.
 48 Albania NA      Male      September    381.
 49 Albania -1.08   Male      August       318.
 50 Albania  1.04   Male      April        388.
 51 Albania -2.58   Male      December     364.
 52 Albania -0.912  Male      October      422.
 53 Albania -1.76   Male      June         223.
 54 Albania  0.508  Male      June         452.
 55 Albania NA      Male      January      516.
 56 Albania NA      Male      July         496.
 57 Albania -1.52   Male      June         258.
 58 Albania  0.796  Male      February     296.
 59 Albania  0.720  Male      October      463.
 60 Albania -2.30   Male      September    293.
 61 Albania -0.512  Male      February     207.
 62 Albania -1.21   Male      December     270.
 63 Albania -0.559  Male      July         236.
 64 Albania  1.16   Male      September    338.
 65 Albania -1.17   Male      May          408.
 66 Albania  0.328  Male      March        460.
 67 Albania NA      Male      September    339.
 68 Albania  1.12   Male      October      427.
 69 Albania -1.80   Male      July         275.
 70 Albania -1.30   Male      May          397.
 71 Albania -1.92   Male      December     333.
 72 Albania NA      Male      October      610.
 73 Albania -0.605  Male      August       334.
 74 Albania NA      Male      January      338.
 75 Albania  0.268  Male      December     254.
 76 Albania -0.545  Male      September    256.
 77 Albania -3.23   Male      February     275.
 78 Albania  0.996  Male      March        272.
 79 Albania -0.324  Male      June         313.
 80 Albania -0.838  Male      May          395.
 81 Albania -1.35   Male      September    446.
 82 Albania  0.529  Male      June         322.
 83 Albania -0.716  Male      June         238.
 84 Albania -0.644  Male      May          432.
 85 Albania  0.136  Male      October      458.
 86 Albania  0.160  Male      October      353.
 87 Albania -1.02   Male      January      309.
 88 Albania -0.335  Male      December     343.
 89 Albania  0.859  Male      December     202.
 90 Albania -0.262  Male      August       283.
 91 Albania -1.49   Male      April        237.
 92 Albania -1.51   Male      April        353.
 93 Albania -2.14   Male      December     230.
 94 Albania -0.33   Male      October      218.
 95 Albania -1.25   Male      July         197.
 96 Albania NA      Male      January      300.
 97 Albania  1.13   Male      February     265.
 98 Albania -2.27   Male      September    278.
 99 Albania -2.55   Male      May          444.
100 Albania -2.00   Male      May          259.
101 Albania -1.75   Male      July         252.
102 Albania -1.88   Male      July         383.
103 Albania -0.723  Male      November     553.
104 Albania -0.608  Male      July         260.
105 Albania  0.814  Male      July         423.
106 Albania -0.922  Male      April        287.
107 Albania -1.16   Male      October      441.
108 Albania -1.24   Male      January      328.
109 Albania  0.217  Male      April        498.
110 Albania -1.97   Male      February     460.
111 Albania -3.09   Male      December     362.
112 Albania NA      Male      May          384.
113 Albania -0.853  Male      May          280.
114 Albania NA      Male      April        342.
115 Albania  0.0068 Male      June         284.
116 Albania -0.113  Male      May          254.
117 Albania -2.52   Male      October      373.
118 Albania -1.35   Male      April        343.
119 Albania -0.390  Male      June         612.
120 Albania  0.195  Male      October      318.
121 Albania -1.47   Male      May          470.
122 Albania  0.229  Male      January      489.
123 Albania NA      Male      July         406.
124 Albania  0.265  Male      February     555.
125 Albania -2.35   Male      January      448.
126 Albania -1.97   Male      October      299.
127 Albania -1.32   Male      November     331.
128 Albania -1.13   Male      June         345.
129 Albania -0.980  Male      November     369.
130 Albania -0.108  Male      April        457.
131 Albania -1.62   Male      August       361.
132 Albania -2.29   Male      May          351.
133 Albania  0.828  Male      July         266.
134 Albania NA      Male      November     223.
135 Albania  0.549  Male      April        322.
136 Albania -0.546  Male      January      425.
137 Albania  0.623  Male      July         363.
138 Albania -0.560  Male      June         482.
139 Albania -0.830  Male      June         385.
140 Albania -1.63   Male      January      414.
141 Albania  1.19   Male      June         515.
142 Albania -0.851  Male      January      584.
143 Albania -1.65   Male      November     488.
144 Albania -0.593  Male      July         256.
145 Albania  0      Male      April        229.
146 Albania -1.03   Male      January      277.
147 Albania -1.58   Male      September    216.
148 Albania -2.05   Male      September    270.
149 Albania -1.23   Male      March        282.
150 Albania -0.0101 Male      September    349.
151 Albania -0.878  Male      September    264.
152 Albania  0.425  Male      July         358.
153 Albania -1.53   Male      June         398.
154 Albania -0.795  Male      February     340.
155 Albania -0.602  Male      September    316.
156 Albania  0.382  Male      July         255.
157 Albania -0.424  Male      August       447.
158 Albania -1.02   Male      October      318.
159 Albania -0.721  Male      January      370.
160 Albania -0.730  Male      June         359.
161 Albania NA      Male      April        392.
162 Albania  1.10   Male      October      645.
163 Albania -1.39   Male      June         296.
164 Albania  0.674  Male      August       379.
165 Albania  1.01   Male      July         499.
166 Albania -1.39   Male      October      456.
167 Albania -1.80   Male      March        431.
168 Albania -1.23   Male      June         359.
169 Albania -0.251  Male      January      244.
170 Albania  1.06   Male      June         429.
171 Albania NA      Male      October      395.
172 Albania  0.472  Male      June         509.
173 Albania -1.42   Male      January      329.
174 Albania -1.50   Male      October      331.
175 Albania -1.72   Male      September    400.
176 Albania -1.32   Male      July         306.
177 Albania -1.20   Male      September    366.
178 Albania  0.376  Male      March        288.
179 Albania NA      Male      February     304.
180 Albania  0.773  Male      August       479.
181 Albania -1.22   Male      May          212.
182 Albania -1.19   Male      January      336.
183 Albania -0.338  Male      June         367.
184 Albania -0.0522 Male      May          240.
185 Albania -0.750  Male      July         479.
186 Albania -0.924  Male      March        354.
187 Albania  0.844  Male      August       556.
188 Albania -1.61   Male      January      249.
189 Albania -0.135  Male      August       490.
190 Albania -2.34   Male      February     214.
191 Albania  0.512  Male      July         279.
192 Albania -0.925  Male      June         371.
193 Albania  0.868  Male      March        175.
194 Albania  0.366  Male      July         432.
195 Albania -0.518  Male      September    352.
196 Albania -1.80   Male      March        286.
197 Albania -1.32   Male      May          397.
198 Albania -0.0169 Male      September    250.
199 Albania -2.05   Male      February     391.
200 Albania -2.03   Male      December     342.
201 Albania -0.312  Male      July         370.
202 Albania  0.550  Male      March        242.
203 Albania  0.459  Male      November     297.
204 Albania  0.499  Male      October      300.
205 Albania  1.20   Male      November     427.
206 Albania -2.59   Male      September    372.
207 Albania -2.85   Male      February     294.
208 Albania NA      Male      March        414.
209 Albania NA      Male      May          305.
210 Albania -0.302  Male      September    371.
211 Albania -2.47   Male      March        353.
212 Albania -1.32   Male      July         367.
213 Albania -1.33   Male      June         382.
214 Albania -0.565  Male      April        320.
215 Albania  0.122  Male      March        313.
216 Albania -1.59   Male      February     335.
217 Albania -2.14   Male      October      289.
218 Albania -0.866  Male      January      447.
219 Albania -1.52   Male      February     246.
220 Albania -1.67   Male      March        444.
221 Albania -2.58   Male      August       179.
222 Albania -0.652  Male      June         260.
223 Albania NA      Male      August       268.
224 Albania  0.588  Male      May          356.
225 Albania -0.908  Male      September    246.
226 Albania  1.10   Male      May          231.
227 Albania  1.38   Male      December     513.
228 Albania -1.73   Male      November     238.
229 Albania -2.40   Male      August       479.
230 Albania -1.55   Male      January      444.
231 Albania -1.59   Male      November     265.
232 Albania -1.65   Male      May          284.
233 Albania -1.23   Male      March        348.
234 Albania  0.499  Male      November     381.
235 Albania -0.239  Male      March        470.
236 Albania -1.04   Male      April        382.
237 Albania -1.77   Male      March        295.
238 Albania  2.34   Male      September    300.
239 Albania -0.531  Male      August       267.
240 Albania  0.560  Male      July         531.
241 Albania  0.436  Male      January      183.
242 Albania -0.451  Male      April        482.
243 Albania  0.468  Male      August       269.
244 Albania -1.07   Male      October      414.
245 Albania  0.199  Male      December     308.
246 Albania  0.505  Male      November     355.
247 Albania -1.19   Male      August       198.
248 Albania  0.610  Male      October      275.
249 Albania -1.71   Male      January      558.
250 Albania  1.18   Male      November     436.
251 Albania -2.67   Male      December     317.
252 Albania  1.30   Male      October      204.
253 Albania -0.39   Male      September    324.
254 Albania  0.523  Male      September    306.
255 Albania  0.232  Male      September    272.
256 Albania -2.15   Male      May          392.
257 Albania -0.552  Male      September    292.
258 Albania -1.34   Male      February     391.
259 Albania -1.16   Male      October      265.
260 Albania  1.22   Male      May          579.
261 Albania  0.206  Male      February     181.
262 Albania -0.916  Male      October      273.
263 Albania -0.890  Male      September    354.
264 Albania -2.02   Male      February     587.
265 Albania -1.63   Male      April        449.
266 Albania -1.99   Male      January      295.
267 Albania  0.190  Male      September    456.
268 Albania -0.772  Male      December     418.
269 Albania -1.16   Male      September    388.
270 Albania -1.57   Male      September    352.
271 Albania  0.240  Male      November     482.
272 Albania -2.29   Male      August       290.
273 Albania -1.03   Male      April        239.
274 Albania NA      Male      May          366.
275 Albania -0.658  Male      March        476.
276 Albania -1.25   Male      October      341.
277 Albania -0.394  Male      January      237.
278 Albania -0.157  Male      October      409.
279 Albania  0.804  Male      May          322.
280 Albania -2.70   Male      May          271.
281 Albania NA      Male      October      303.
282 Albania NA      Male      May          407.
283 Albania -1.75   Male      April        311.
284 Albania -0.349  Male      November     335.
285 Albania -1.11   Male      November     274.
286 Albania -0.426  Male      November     345.
287 Albania  0.435  Male      August       242.
288 Albania -0.914  Male      January      220.
289 Albania -1.97   Male      July         341.
290 Albania -0.666  Male      October      378.
291 Albania -1.03   Male      November     429.
292 Albania  0.874  Male      August       301.
293 Albania -0.0625 Male      June         282.
294 Albania -0.627  Male      July         361.
295 Albania  1.11   Male      June         253.
296 Albania NA      Male      April        466.
297 Albania -1.81   Male      September    344.
298 Albania NA      Male      November     333.
299 Albania -1.65   Male      January      310.
300 Albania -1.52   Male      May          327.
301 Albania -0.899  Male      January      272.
302 Albania -0.519  Male      October      397.
303 Albania  1.41   Male      November     284.
304 Albania  0.556  Male      August       380.
305 Albania -0.929  Male      March        499.
306 Albania -1.41   Male      September    286.
307 Albania -1.83   Male      October      481.
308 Albania  0.668  Male      August       528.
309 Albania -0.677  Male      January      398.
310 Albania NA      Male      May          304.
311 Albania  0.525  Male      April        309.
312 Albania  0.357  Male      August       630.
313 Albania -1.71   Male      August       275.
314 Albania  0.663  Male      October      494.
315 Albania -2.01   Male      September    266.
316 Albania -0.513  Male      July         417.
317 Albania NA      Male      May          341.
318 Albania  1.05   Male      November     368.
319 Albania -1.73   Male      February     398.
320 Albania -0.547  Male      July         402.
321 Albania -1.65   Male      January      443.
322 Albania -0.311  Male      January      201.
323 Albania -1.02   Male      October      350.
324 Albania -1.04   Male      January      323.
325 Albania -0.528  Male      October      357.
326 Albania NA      Male      July         292.
327 Albania NA      Male      February     378.
328 Albania -0.713  Male      January      273.
329 Albania -2.41   Male      November     483.
330 Albania -1.15   Male      April        244.
331 Albania -1.52   Male      February     343.
332 Albania -0.101  Male      August       359.
333 Albania  0.569  Male      June         435.
334 Albania  0.233  Male      February     402.
335 Albania -0.545  Male      March        308.
336 Albania -1.04   Male      February     448.
337 Albania  0.854  Male      June         434.
338 Albania  0.704  Male      October      252.
339 Albania -0.930  Male      March        328.
340 Albania -0.998  Male      May          411.
341 Albania  0.413  Male      June         363.
342 Albania NA      Male      September    431.
343 Albania -0.672  Male      December     460.
344 Albania -0.566  Male      June         312.
345 Albania -2.86   Male      November     328.
346 Albania  0.238  Male      May          298.
347 Albania -0.616  Male      November     294.
348 Albania  1.32   Male      September    349.
349 Albania -0.924  Male      September    245.
350 Albania  0.591  Male      April        453.
351 Albania  0.0498 Male      March        448.
352 Albania -1.40   Male      October      382.
353 Albania -3.07   Male      June         424.
354 Albania  0.734  Male      July         389.
355 Albania -0.446  Male      January      453.
356 Albania -0.353  Male      August       488.
357 Albania  0.380  Male      February     367.
358 Albania -1.62   Male      December     562.
359 Albania -0.666  Male      June         498.
360 Albania  0.649  Male      December     356.
361 Albania -0.709  Male      May          295.
362 Albania -2.07   Male      March        363.
363 Albania  0.533  Male      November     534.
364 Albania -1.68   Male      January      259.
365 Albania  0.776  Male      April        401.
366 Albania -0.584  Male      May          431.
367 Albania -0.938  Male      October      368.
368 Albania -1.47   Male      October      293.
369 Albania  0.096  Male      August       486.
370 Albania -0.707  Male      February     436.
371 Albania  0.638  Male      July         416.
372 Albania -1.73   Male      May          524.
373 Albania -0.758  Male      January      369.
374 Albania -0.381  Male      February     221.
375 Albania NA      Male      January      267.
376 Albania -1.58   Male      August       328.
377 Albania  0.287  Male      August       268.
378 Albania -0.758  Male      July         327.
379 Albania -1.09   Male      August       210.
380 Albania -1.03   Male      April        393.
381 Albania -1.41   Male      November     273.
382 Albania -1.60   Male      August       414.
383 Albania NA      Male      February     371.
384 Albania -0.587  Male      January      286.
385 Albania  0.532  Male      April        570.
386 Albania -0.168  Male      April        257.
387 Albania -1.47   Male      November     338.
388 Albania -0.636  Male      January      254.
389 Albania -1.93   Male      April        315.
390 Albania -1.29   Male      December     415.
391 Albania -0.791  Male      June         470.
392 Albania -1.44   Male      November     284.
393 Albania  0.098  Male      October      328.
394 Albania -0.678  Male      August       281.
395 Albania  0.886  Male      May          292.
396 Albania -1.10   Male      October      279.
397 Albania -3.06   Male      November     320.
398 Albania -1.05   Male      December     306.
399 Albania -1.13   Male      May          337.
400 Albania  0.705  Male      August       463.
401 Albania -1.66   Male      October      299.
402 Albania -0.389  Male      January      373.
403 Albania  0.936  Male      April        489.
404 Albania  0.114  Male      June         353.
405 Albania -2.40   Male      May          403.
406 Albania -0.179  Male      June         334.
407 Albania -0.888  Male      June         302.
408 Albania -1.94   Male      March        440.
409 Albania NA      Male      January      284.
410 Albania -0.207  Male      January      428.
411 Albania NA      Male      June         346.
412 Albania NA      Male      March        345.
413 Albania  0.417  Male      March        576.
414 Albania -0.345  Male      March        555.
415 Albania -0.612  Male      July         246.
416 Albania  0.0009 Male      October      265.
417 Albania -1.06   Male      December     439.
418 Albania -1.64   Male      March        409.
419 Albania -0.424  Male      August       489.
420 Albania -1.30   Male      December     324.
421 Albania  0.791  Male      July         521.
422 Albania NA      Male      September    405.
423 Albania -0.761  Male      December     350.
424 Albania -2.67   Male      June         504.
425 Albania -0.0129 Male      October      413.
426 Albania  0.649  Male      January      392.
427 Albania  0.55   Male      October      365.
428 Albania  1.06   Male      June         561.
429 Albania -0.928  Male      December     302.
430 Albania -1.98   Male      May          300.
431 Albania -2.35   Male      May          352.
432 Albania -0.996  Male      November     361.
433 Albania  1.27   Male      February     501.
434 Albania -0.0553 Male      January      491.
435 Albania  1.48   Male      October      441.
436 Albania -0.881  Male      March        271.
437 Albania -0.178  Male      January      492.
438 Albania  1.16   Male      May          353.
439 Albania  0.340  Male      September    258.
440 Albania -0.0231 Male      March        313.
441 Albania -1.48   Male      March        307.
442 Albania -0.384  Male      November     273.
443 Albania  0.0847 Male      July         344.
444 Albania -2.55   Male      January      324.
445 Albania -0.0818 Male      July         339.
446 Albania -2.07   Male      November     332.
447 Albania -0.894  Male      January      338.
448 Albania  0.223  Male      September    255.
449 Albania -2.05   Male      October      356.
450 Albania -1.06   Male      February     320.
451 Albania  0.722  Male      July         366.
452 Albania -0.195  Male      August       298.
453 Albania  0.873  Male      September    547.
454 Albania  0.0134 Male      September    439.
455 Albania -1.14   Male      October      271.
456 Albania -3.17   Male      April        263.
457 Albania -1.72   Male      November     418.
458 Albania -2.44   Male      March        463.
459 Albania -1.00   Male      May          372.
460 Albania -0.876  Male      July         290.
461 Albania NA      Male      July         341.
462 Albania -1.48   Male      December     233.
463 Albania -1.80   Male      February     430.
464 Albania -1.43   Male      August       245.
465 Albania -0.109  Male      September    351.
466 Albania -0.762  Male      July         326.
467 Albania NA      Male      October      248.
468 Albania -0.957  Male      June         393.
469 Albania -2.01   Male      May          328.
470 Albania  0.717  Male      April        284.
471 Albania NA      Male      December     442.
472 Albania -0.675  Male      March        302.
473 Albania  0.602  Male      March        399.
474 Albania NA      Male      June         461.
475 Albania -0.162  Male      November     494.
476 Albania -1.03   Male      January      370.
477 Albania -1.40   Male      April        329.
478 Albania NA      Male      May          328.
479 Albania -0.649  Male      November     341.
480 Albania -1.84   Male      December     392.
481 Albania -0.504  Male      November     333.
482 Albania -0.0671 Male      October      438.
483 Albania  1.17   Male      October      384.
484 Albania  0.283  Male      January      426.
485 Albania  0.478  Male      April        328.
486 Albania -0.240  Male      December     248.
487 Albania -1.80   Male      May          299.
488 Albania  0.273  Male      August       468.
489 Albania -0.872  Male      July         302.
490 Albania -2.50   Male      June         283.
491 Albania  0.035  Male      January      392.
492 Albania -1.05   Male      April        336.
493 Albania -0.864  Male      September    278.
494 Albania -1.59   Male      May          195.
495 Albania -1.43   Male      August       355.
496 Albania -1.29   Male      October      308.
497 Albania -0.0159 Male      July         230.
498 Albania NA      Male      April        406.
499 Albania -1.52   Male      September    461.
500 Albania  0.486  Male      April        323.
# ℹ 307,406 more rows

We can combine filter commands to look for Males born in September and where the PV1MATH figure is greater than 750. We can list multiple criteria in the filter by separating the criteria with commas, using commas mean that all of these criteria need to be TRUE for a row to be returned. A comma in a filter is the equivalent of an AND, :

PISA_2022 %>% 
  select(CNT, ESCS, ST004D01T, ST003D02T, PV1MATH) %>%
  filter(ST004D01T == "Male",
         ST003D02T == "September",
         PV1MATH > 750)
# A tibble: 52 × 5
   CNT                     ESCS ST004D01T ST003D02T PV1MATH
   <fct>                  <dbl> <fct>     <fct>       <dbl>
 1 Australia             0.994  Male      September    770.
 2 Australia             0.837  Male      September    758.
 3 Australia             1.22   Male      September    807.
 4 Canada                1.06   Male      September    752.
 5 Canada                1.04   Male      September    788.
 6 Canada                1.21   Male      September    781.
 7 Canada                0.804  Male      September    750.
 8 Chinese Taipei        0.842  Male      September    753.
 9 Chinese Taipei        0.488  Male      September    794.
10 Chinese Taipei        1.23   Male      September    794.
11 Chinese Taipei        0.793  Male      September    841.
12 Chinese Taipei        0.905  Male      September    777.
13 Chinese Taipei        1.33   Male      September    802.
14 Czech Republic        1.13   Male      September    781.
15 Hong Kong (China)     0.931  Male      September    758.
16 Hong Kong (China)     0.662  Male      September    805.
17 Hong Kong (China)     0.936  Male      September    880.
18 Hong Kong (China)    -0.594  Male      September    781.
19 Hong Kong (China)     0.328  Male      September    796.
20 Hong Kong (China)    -0.832  Male      September    752.
21 Hong Kong (China)     1.48   Male      September    766.
22 Hong Kong (China)     0.649  Male      September    751.
23 Japan                 0.305  Male      September    755.
24 Japan                 0.334  Male      September    752.
25 Korea                 1.14   Male      September    752.
26 Korea                 0.452  Male      September    784.
27 Korea                 1.76   Male      September    799.
28 Korea                 1.36   Male      September    752.
29 Macao (China)        -0.487  Male      September    798.
30 Macao (China)         0.111  Male      September    767.
31 Netherlands           1.22   Male      September    761.
32 New Zealand           0.392  Male      September    760.
33 Singapore             0.376  Male      September    756.
34 Singapore             0.982  Male      September    758.
35 Singapore             1.57   Male      September    797.
36 Singapore             1.03   Male      September    784.
37 Singapore             0.536  Male      September    751.
38 Singapore             1.58   Male      September    897.
39 Singapore             1.29   Male      September    755.
40 Singapore             0.395  Male      September    767.
41 Singapore             1.36   Male      September    782.
42 Singapore             0.212  Male      September    813.
43 Singapore            -0.0648 Male      September    752.
44 Singapore             1.14   Male      September    763.
45 Singapore             0.907  Male      September    787.
46 Slovak Republic       0.388  Male      September    758.
47 Spain                 0.958  Male      September    779.
48 Switzerland           1.06   Male      September    756.
49 Switzerland           1.06   Male      September    758.
50 Thailand              0.257  Male      September    791.
51 United Arab Emirates  1.08   Male      September    823.
52 United Arab Emirates  0.820  Male      September    812.

You can also write it as an ampersand &

PISA_2022 %>% 
  select(CNT, ESCS, ST004D01T, ST003D02T, PV1MATH) %>%
  filter(ST004D01T == "Male" &
         ST003D02T == "September" &
         PV1MATH > 750)
Important

Remember to include the == sign when looking to filter on equality; additionally, you can use != (not equals), >=, <=, >, <.

Remember matching is case sensitive, “september” != “September”

Rather than just looking at September born students, we want to find all the students born in the Autumn term. But if we add a couple more criteria on ST003D02T nothing is returned! Why?

PISA_2022 %>% 
  select(CNT, ESCS, ST004D01T, ST003D02T, PV1MATH) %>%
  filter(ST004D01T == "Male",
         ST003D02T == "September",
         ST003D02T == "October",
         ST003D02T == "November",
         ST003D02T == "December",
         PV1MATH > 750)
# A tibble: 0 × 5
# ℹ 5 variables: CNT <fct>, ESCS <dbl>, ST004D01T <fct>, ST003D02T <fct>,
#   PV1MATH <dbl>

The reason is R is looking for individual students born in September AND October AND November AND December. As a student can only have one birth month there are no students that meet this criteria. We need to use OR :

To create an OR in a filter we use the bar | character, the below looks for all students who are “Male” AND were born in “September” OR “October” OR “November” OR “December”, AND have a PV1MATH > 750.

PISA_2022 %>% 
  select(CNT, ESCS, ST004D01T, ST003D02T, PV1MATH) %>%
  filter(ST004D01T == "Male",
         (ST003D02T == "September" | ST003D02T == "October" | ST003D02T == "November" | ST003D02T == "December"),
         PV1MATH > 750)
# A tibble: 194 × 5
    CNT                     ESCS ST004D01T ST003D02T PV1MATH
    <fct>                  <dbl> <fct>     <fct>       <dbl>
  1 Australia             0.994  Male      September    770.
  2 Australia             1.03   Male      October      808.
  3 Australia             1.30   Male      October      762.
  4 Australia             1.21   Male      November     764.
  5 Australia             0.837  Male      September    758.
  6 Australia             1.22   Male      September    807.
  7 Belgium               0.746  Male      December     770.
  8 Belgium               0.939  Male      December     779.
  9 Belgium               1.25   Male      November     832.
 10 Belgium               1.11   Male      October      776.
 11 Belgium              -0.0564 Male      October      794.
 12 Canada                1.08   Male      December     851.
 13 Canada                1.06   Male      September    752.
 14 Canada                0.882  Male      November     759.
 15 Canada                1.04   Male      September    788.
 16 Canada                1.21   Male      September    781.
 17 Canada                1.29   Male      October      786.
 18 Canada                1.09   Male      December     771.
 19 Canada                0.352  Male      November     829.
 20 Canada                1.39   Male      December     767.
 21 Canada               -0.0067 Male      October      807.
 22 Canada                0.804  Male      September    750.
 23 Canada                0.0829 Male      October      751.
 24 Chinese Taipei       -0.868  Male      December     780.
 25 Chinese Taipei        0.842  Male      September    753.
 26 Chinese Taipei        0.488  Male      September    794.
 27 Chinese Taipei        1.23   Male      September    794.
 28 Chinese Taipei        0.581  Male      November     755.
 29 Chinese Taipei        0.246  Male      December     802.
 30 Chinese Taipei        0.998  Male      December     754.
 31 Chinese Taipei        0.793  Male      September    841.
 32 Chinese Taipei        0.905  Male      September    777.
 33 Chinese Taipei        1.17   Male      November     917.
 34 Chinese Taipei       -0.135  Male      November     786.
 35 Chinese Taipei       -0.136  Male      October      757.
 36 Chinese Taipei        0.662  Male      October      772.
 37 Chinese Taipei        0.915  Male      October      772.
 38 Chinese Taipei        0.988  Male      October      858.
 39 Chinese Taipei        1.45   Male      November     783.
 40 Chinese Taipei        1.56   Male      October      820.
 41 Chinese Taipei        1.33   Male      September    802.
 42 Chinese Taipei        0.0278 Male      October      756.
 43 Chinese Taipei        1.18   Male      October      763.
 44 Chinese Taipei        0.982  Male      November     771.
 45 Czech Republic        0.535  Male      December     755.
 46 Czech Republic        0.842  Male      November     755.
 47 Czech Republic        1.11   Male      December     760.
 48 Czech Republic        1.34   Male      October      776.
 49 Czech Republic        1.13   Male      September    781.
 50 Czech Republic        1.22   Male      November     757.
 51 Denmark               1.48   Male      November     755.
 52 Estonia               0.677  Male      October      751.
 53 Germany               0.691  Male      December     757.
 54 Germany               1.16   Male      November     767.
 55 Hong Kong (China)     0.913  Male      December     867.
 56 Hong Kong (China)     1.15   Male      November     752.
 57 Hong Kong (China)     0.931  Male      September    758.
 58 Hong Kong (China)    -0.877  Male      October      763.
 59 Hong Kong (China)     0.533  Male      November     775.
 60 Hong Kong (China)    -1.65   Male      November     756.
 61 Hong Kong (China)     0.662  Male      September    805.
 62 Hong Kong (China)     0.936  Male      September    880.
 63 Hong Kong (China)    -0.594  Male      September    781.
 64 Hong Kong (China)     0.628  Male      November     775.
 65 Hong Kong (China)     1.26   Male      October      778.
 66 Hong Kong (China)     1.29   Male      October      818.
 67 Hong Kong (China)     1.21   Male      October      754.
 68 Hong Kong (China)     0.328  Male      September    796.
 69 Hong Kong (China)    -0.666  Male      November     753.
 70 Hong Kong (China)    -0.580  Male      October      769.
 71 Hong Kong (China)    -0.246  Male      October      806.
 72 Hong Kong (China)     1.23   Male      December     797.
 73 Hong Kong (China)     0.134  Male      December     774.
 74 Hong Kong (China)     1.14   Male      October      861.
 75 Hong Kong (China)    NA      Male      October      790.
 76 Hong Kong (China)    -0.832  Male      September    752.
 77 Hong Kong (China)     1.35   Male      December     770.
 78 Hong Kong (China)     0.299  Male      October      824.
 79 Hong Kong (China)     1.48   Male      September    766.
 80 Hong Kong (China)     0.649  Male      September    751.
 81 Hong Kong (China)     1.08   Male      October      764.
 82 Hong Kong (China)     0.804  Male      October      803.
 83 Hungary               0.719  Male      December     761.
 84 Israel                0.919  Male      November     792.
 85 Israel                1.29   Male      October      756 
 86 Israel                1.48   Male      December     760.
 87 Japan                -0.648  Male      November     770.
 88 Japan                 0.305  Male      September    755.
 89 Japan                 0.334  Male      September    752.
 90 Korea                 1.20   Male      December     773.
 91 Korea                -0.0955 Male      December     764.
 92 Korea                -0.287  Male      November     801.
 93 Korea                 1.14   Male      September    752.
 94 Korea                 1.84   Male      October      787.
 95 Korea                 1.22   Male      November     820.
 96 Korea                 1.21   Male      November     768.
 97 Korea                 0.970  Male      November     751.
 98 Korea                 1.14   Male      October      780.
 99 Korea                 1.30   Male      November     821.
100 Korea                -0.541  Male      November     789.
101 Korea                 1.38   Male      December     787.
102 Korea                 0.452  Male      September    784.
103 Korea                 1.76   Male      September    799.
104 Korea                 0.193  Male      October      768.
105 Korea                 0.702  Male      November     793.
106 Korea                 1.36   Male      September    752.
107 Korea                 0.221  Male      November     769.
108 Latvia                0.983  Male      November     751.
109 Lithuania             1.39   Male      November     802.
110 Macao (China)         0.654  Male      December     777.
111 Macao (China)        -0.267  Male      October      753.
112 Macao (China)        -0.487  Male      September    798.
113 Macao (China)         0.915  Male      December     754.
114 Macao (China)         0.919  Male      October      751.
115 Macao (China)         1.15   Male      October      755.
116 Macao (China)         0.362  Male      November     751.
117 Macao (China)         0.719  Male      October      764.
118 Macao (China)        -0.271  Male      December     754.
119 Macao (China)         0.111  Male      September    767.
120 Macao (China)        -0.336  Male      October      776.
121 Macao (China)        -0.288  Male      October      781.
122 Macao (China)        -0.204  Male      December     763.
123 Netherlands          -0.575  Male      October      766.
124 Netherlands           1.22   Male      September    761.
125 Netherlands           1.28   Male      October      797.
126 New Zealand           0.730  Male      November     775.
127 New Zealand           1.13   Male      October      825.
128 New Zealand           0.392  Male      September    760.
129 New Zealand           0.613  Male      November     753.
130 Poland                0.654  Male      December     770.
131 Poland                0.966  Male      November     799.
132 Serbia                1.12   Male      December     756.
133 Serbia               -0.711  Male      November     751.
134 Singapore            -0.213  Male      October      750.
135 Singapore             0.376  Male      September    756.
136 Singapore             0.795  Male      December     793.
137 Singapore             1.27   Male      October      763.
138 Singapore             0.842  Male      December     794.
139 Singapore             0.737  Male      November     794.
140 Singapore             0.982  Male      September    758.
141 Singapore            -0.402  Male      October      752.
142 Singapore            -0.0469 Male      October      795.
143 Singapore             1.57   Male      September    797.
144 Singapore            -0.147  Male      October      764.
145 Singapore             1.01   Male      October      785.
146 Singapore             1.38   Male      December     810.
147 Singapore             1.03   Male      September    784.
148 Singapore             0.0358 Male      November     782.
149 Singapore             0.824  Male      December     755.
150 Singapore             0.536  Male      September    751.
151 Singapore             1.58   Male      September    897.
152 Singapore             1.29   Male      September    755.
153 Singapore             0.793  Male      December     768.
154 Singapore             1.30   Male      December     769.
155 Singapore             0.674  Male      December     764.
156 Singapore             0.935  Male      December     806.
157 Singapore             0.950  Male      December     793.
158 Singapore             0.395  Male      September    767.
159 Singapore             1.36   Male      September    782.
160 Singapore             0.970  Male      October      757.
161 Singapore             0.212  Male      September    813.
162 Singapore             1.13   Male      December     796.
163 Singapore             1.39   Male      November     767.
164 Singapore             0.826  Male      November     842.
165 Singapore            -0.0648 Male      September    752.
166 Singapore             0.221  Male      November     751.
167 Singapore             1.14   Male      September    763.
168 Singapore             1.08   Male      October      820.
169 Singapore            -0.646  Male      December     828.
170 Singapore             2.15   Male      November     792.
171 Singapore             0.907  Male      September    787.
172 Singapore             0.736  Male      October      776.
173 Slovak Republic       0.388  Male      September    758.
174 Spain                 0.958  Male      September    779.
175 Spain                -1.37   Male      October      752.
176 Switzerland           1.06   Male      September    756.
177 Switzerland           1.06   Male      September    758.
178 Switzerland           1.40   Male      December     773.
179 Thailand              2.44   Male      October      751.
180 Thailand              0.257  Male      September    791.
181 United Arab Emirates  0.482  Male      December     761.
182 United Arab Emirates  0.790  Male      December     793.
183 United Arab Emirates  0.813  Male      November     760.
184 United Arab Emirates  1.04   Male      December     755.
185 United Arab Emirates  0.753  Male      October      767.
186 United Arab Emirates  1.08   Male      September    823.
187 United Arab Emirates  0.820  Male      September    812.
188 United Kingdom        1.22   Male      October      750.
189 United Kingdom       -0.311  Male      December     769.
190 United Kingdom        1.64   Male      October      791.
191 United Kingdom       -0.382  Male      October      761.
192 United Kingdom       -0.857  Male      November     825.
193 United Kingdom        0.883  Male      November     850.
194 United States         1.30   Male      October      773.

It’s neater, maybe, to use the %in% command, which checks to see if the value in a column is present in a vector, this can mimic the OR/| command:

PISA_2022 %>% 
  select(CNT, ESCS, ST004D01T, ST003D02T, PV1MATH) %>%
  filter(ST004D01T == "Male",
         ST003D02T %in% c("September", "October", "November", "December"),
         PV1MATH > 750)
Tip

When building filters you need to know the range of values that a column can take, we can do this in several ways:

# show the possible levels
levels(PISA_2022$ST003D02T)
 [1] "January"        "February"       "March"          "April"         
 [5] "May"            "June"           "July"           "August"        
 [9] "September"      "October"        "November"       "December"      
[13] "Valid Skip"     "Not Applicable" "Invalid"        "No Response"   
# show the actual unique values in a field
# this might be a slightly smaller set of values
unique(PISA_2022$ST003D02T)
 [1] May       February  August    July      January   December  September
 [8] October   April     March     June      November  <NA>     
16 Levels: January February March April May June July August ... No Response
# You might also want to read the label of a field
attr(PISA_2022$ST003D02T, "label")
[1] "Student (Standardized) Birth - Month"

2.1 Questions

  1. Spot the two errors with the following select statement
PISA_2022
  select(CNT, PV1READ) %>%
  filter(CNT = "Finland")
answer
PISA_2022 %>%  #1 missing pipe command
  select(CNT, PV1READ) %>%
  filter(CNT == "Finland") #2 you need a double equals
  1. Use filter to find all the students with PV1READ grade equal to 333.
answer
PISA_2022 %>% 
  filter(PV1READ == 333)
  1. Use filter to find all the students with PV1READ, PV1SCIE, and PV1MATH grades over 800.
answer
PISA_2022 %>% 
  filter(PV1READ > 800,
         PV1SCIE > 800,
         PV1MATH > 800)
  1. Spot the three errors with the following select statement
PISA_2022 %>% 
  select(CNT) %>%
  filter(CNT in c("France", "belgium")
         ESCS < 0)
answer
PISA_2022 %>% 
  select(CNT, ESCS) %>% #1 you have ESCS in the filter, it needs to be in the select as well
  filter(CNT %in% c("France", "Belgium"), #2 Belgium needs a capital letter
                                          #3 the %in% command needs percentages
                                          #4 you need a comma (or &) at the end of the line
         ESCS < 0)
  1. Use filter to find all the students with Three or more cars in their home ST251Q01JA. How does this compare to those with no None cars?
answer
# cars 3+ 
PISA_2022 %>%
  select(CNT, ST251Q01JA) %>%
  filter(ST251Q01JA == "Three or more")

# cars 0
PISA_2022 %>%
  select(CNT, ST251Q01JA) %>%
  filter(ST251Q01JA == "None")
  1. Adjust your code in Q5. to find the number of students with Three or more cars in their home ST251Q01JA in Italy, how does this compare with Spain?
answer
PISA_2022 %>%
  select(CNT, ST251Q01JA) %>%
  filter(ST251Q01JA == "Three or more",
         CNT == "Italy")

PISA_2022 %>%
  select(CNT, ST251Q01JA) %>%
  filter(ST251Q01JA == "Three or more",
         CNT == "Spain")

# EXTENSION:
# Note we would need to know the percentage of students 
# in each country with that number of cars to make a proper
# comparison. Spain might have more students taking the PISA
# test than Italy, or vice-versa

PISA_2022 %>%
  select(CNT, ST251Q01JA) %>%
  filter(CNT %in% c("Italy", "Spain")) %>%
  group_by(CNT) %>%
  mutate(total_stus = n()) %>%
  filter(ST251Q01JA == "Three or more") %>%
  summarise(three_more = n(),
            per_three_more = three_more/unique(total_stus))
  1. Write a filter to create a table for the number of Female students with reading PV1READ scores lower than 400 in the United Kingdom, store the result as read_low_female, repeat but for Male students and store as read_low_male. Use nrow() to work out if there are more males or females with a low reading score in the UK
answer
read_low_female <- PISA_2022 %>% 
  filter(CNT == "United Kingdom",
         PV1READ < 400,
         ST004D01T == "Female")

read_low_male <- PISA_2022 %>% 
  filter(CNT == "United Kingdom",
         PV1READ < 400,
         ST004D01T == "Male")

nrow(read_low_female)
nrow(read_low_male)

# You could also pipe the whole dataframe into nrow()
PISA_2022 %>% 
  filter(CNT == "United Kingdom",
         PV1READ < 400,
         ST004D01T == "Female") %>% 
  nrow()
  1. How many students in the United Kingdom had no television ST254Q01JA OR no connection to the internet ST250Q05JA. HINT: use levels(PISA_2022$ST254Q01JA) to look at the levels available for each column.
answer
PISA_2022 %>% filter(CNT == "United Kingdom", 
                     ST254Q01JA == "None" |
                     ST250Q05JA == "None")
  1. Which countr[y|ies] had students with NA for Gender, remember to check for NA using is.na()?
answer
PISA_2022 %>% 
  filter(is.na(ST004D01T)) %>%
  select(CNT) %>%
  distinct()

3 renaming columns

Very often when dealing with datasets such as PISA or TIMSS, the column names can be very confusing without a reference key, e.g. ST004D01T, OCOD3 and ST261Q04JA. To rename columns in the tidyverse we use the rename(<new_name> = <old_name>) command. For example, if you wanted to rename the rather confusingly named student column for gender, also known as ST004D01T, and the column for having a having enough digital resources in school, also known as IC172Q01JA, you could use:

PISA_2022 %>%
  rename(gender = ST004D01T,
         dig_resources = IC172Q01JA) %>%
  select(CNT, gender, dig_resources) %>% 
  summary()
                   CNT                    gender      
 Spain               : 30800   Female        :305759  
 United Arab Emirates: 24600   Male          :307906  
 Canada              : 23073   Valid Skip    :     0  
 Kazakhstan          : 19769   Not Applicable:     0  
 Indonesia           : 13439   Invalid       :     0  
 Australia           : 13437   No Response   :     0  
 (Other)             :488626   NA's          :    79  
           dig_resources   
 Agree            :183233  
 Disagree         : 70595  
 Strongly agree   : 49276  
 Strongly disagree: 35223  
 Valid Skip       :     0  
 (Other)          :     0  
 NA's             :275417  

If you want to change the name of the column so that it stays when you need to perform another calculation, remember to assign the renamed dataframe back to the original dataframe. But be warned, you’ll need to reload the full dataset to restore the original names:

PISA_2022 <- PISA_2022 %>%
    rename(gender = ST004D01T,
           dig_resources = IC172Q01JA)

4 group_by and summarise

So far we have looked at ways to return rows that meet certain criteria. Using group_by and summarise we can start to analyse data for different groups of students. For example, let’s look at the number of students who don’t have internet connections at home besides a mobile phone ST250Q05JA:

1PISA_2022 %>%
2  group_by(ST250Q05JA) %>%
3  summarise(student_n = n())
1
Line 1 passes the full PISA_2022 to the pipe
2
Line 2 makes groups within PISA_2022 using the unique values of ST250Q05JA
3
Line 3, these groups are then passed to summarise, which creates a new column called student_n and stores the number of rows in each ST250Q05JA group using the n() command. summarise only returns the columns it creates, or are in the group_by, everything else is discarded.
# A tibble: 3 × 2
  ST250Q05JA student_n
  <fct>          <int>
1 Yes           525842
2 No             56968
3 <NA>           30934

What we might want to do is look at this data from a country by country perspective, by adding another field to the group_by() command, we then group by the unique combination of countries CNT and internet access ST250Q05JA, e.g. Albania + Yes; Albania + No; Albania + NA; United Arab Emirates + Yes; etc

int_by_cnt <- PISA_2022 %>% 
  group_by(CNT, ST250Q05JA) %>%
  summarise(student_n = n())

print(int_by_cnt)
# A tibble: 238 × 3
# Groups:   CNT [80]
    CNT                          ST250Q05JA student_n
    <fct>                        <fct>          <int>
  1 Albania                      Yes             4693
  2 Albania                      No               535
  3 Albania                      <NA>             901
  4 United Arab Emirates         Yes            22206
  5 United Arab Emirates         No              1116
  6 United Arab Emirates         <NA>            1278
  7 Argentina                    Yes            10484
  8 Argentina                    No               938
  9 Argentina                    <NA>             689
 10 Australia                    Yes            12808
 11 Australia                    No               200
 12 Australia                    <NA>             429
 13 Austria                      Yes             5975
 14 Austria                      No                89
 15 Austria                      <NA>              87
 16 Belgium                      Yes             8049
 17 Belgium                      No                79
 18 Belgium                      <NA>             158
 19 Bulgaria                     Yes             5621
 20 Bulgaria                     No               141
 21 Bulgaria                     <NA>             345
 22 Brazil                       Yes             9379
 23 Brazil                       No               737
 24 Brazil                       <NA>             682
 25 Brunei Darussalam            Yes             5021
 26 Brunei Darussalam            No               465
 27 Brunei Darussalam            <NA>              90
 28 Canada                       Yes            21206
 29 Canada                       No               332
 30 Canada                       <NA>            1535
 31 Switzerland                  Yes             6541
 32 Switzerland                  No               198
 33 Switzerland                  <NA>              90
 34 Chile                        Yes             5836
 35 Chile                        No               360
 36 Chile                        <NA>             292
 37 Colombia                     Yes             5874
 38 Colombia                     No              1499
 39 Colombia                     <NA>             431
 40 Costa Rica                   <NA>            6113
 41 Czech Republic               Yes             8284
 42 Czech Republic               No                74
 43 Czech Republic               <NA>             102
 44 Germany                      Yes             5318
 45 Germany                      No                96
 46 Germany                      <NA>             702
 47 Denmark                      Yes             5794
 48 Denmark                      No               140
 49 Denmark                      <NA>             266
 50 Dominican Republic           Yes             5175
 51 Dominican Republic           No              1222
 52 Dominican Republic           <NA>             471
 53 Spain                        Yes            29350
 54 Spain                        No               435
 55 Spain                        <NA>            1015
 56 Estonia                      Yes             6237
 57 Estonia                      No                69
 58 Estonia                      <NA>              86
 59 Finland                      Yes             9745
 60 Finland                      No               268
 61 Finland                      <NA>             226
 62 France                       Yes             6335
 63 France                       No               302
 64 France                       <NA>             133
 65 United Kingdom               Yes            11236
 66 United Kingdom               No                86
 67 United Kingdom               <NA>            1650
 68 Georgia                      Yes             5655
 69 Georgia                      No               486
 70 Georgia                      <NA>             442
 71 Greece                       Yes             6160
 72 Greece                       No               135
 73 Greece                       <NA>             108
 74 Guatemala                    Yes             3436
 75 Guatemala                    No              1466
 76 Guatemala                    <NA>             288
 77 Hong Kong (China)            Yes             5540
 78 Hong Kong (China)            No               110
 79 Hong Kong (China)            <NA>             257
 80 Croatia                      Yes             5989
 81 Croatia                      No                64
 82 Croatia                      <NA>              82
 83 Hungary                      Yes             5941
 84 Hungary                      No                68
 85 Hungary                      <NA>             189
 86 Indonesia                    Yes             6067
 87 Indonesia                    No              6949
 88 Indonesia                    <NA>             423
 89 Ireland                      Yes             5407
 90 Ireland                      No                71
 91 Ireland                      <NA>              91
 92 Iceland                      Yes             3246
 93 Iceland                      No                45
 94 Iceland                      <NA>              69
 95 Israel                       Yes             4886
 96 Israel                       No               272
 97 Israel                       <NA>            1093
 98 Italy                        Yes            10026
 99 Italy                        No               445
100 Italy                        <NA>              81
101 Jamaica                      Yes             3025
102 Jamaica                      No               579
103 Jamaica                      <NA>             269
104 Jordan                       Yes             5968
105 Jordan                       No              1594
106 Jordan                       <NA>             237
107 Japan                        Yes             5485
108 Japan                        No               237
109 Japan                        <NA>              38
110 Kazakhstan                   Yes            17450
111 Kazakhstan                   No              2175
112 Kazakhstan                   <NA>             144
113 Cambodia                     Yes             1587
114 Cambodia                     No              3115
115 Cambodia                     <NA>             577
116 Korea                        Yes             6331
117 Korea                        No                53
118 Korea                        <NA>              70
119 Kosovo                       Yes             4959
120 Kosovo                       No               609
121 Kosovo                       <NA>             459
122 Lithuania                    Yes             7045
123 Lithuania                    No               120
124 Lithuania                    <NA>              92
125 Latvia                       Yes             5094
126 Latvia                       No               135
127 Latvia                       <NA>             144
128 Macao (China)                Yes             4318
129 Macao (China)                No                58
130 Macao (China)                <NA>               8
131 Morocco                      Yes             4203
132 Morocco                      No              2470
133 Morocco                      <NA>             194
134 Republic of Moldova          Yes             5784
135 Republic of Moldova          No               294
136 Republic of Moldova          <NA>             157
137 Mexico                       Yes             5374
138 Mexico                       No               810
139 Mexico                       <NA>             104
140 North Macedonia              Yes             5908
141 North Macedonia              No               256
142 North Macedonia              <NA>             446
143 Malta                        Yes             2903
144 Malta                        No                56
145 Malta                        <NA>             168
146 Montenegro                   Yes             5397
147 Montenegro                   No               197
148 Montenegro                   <NA>             199
149 Mongolia                     Yes             5143
150 Mongolia                     No              1735
151 Mongolia                     <NA>             121
152 Malaysia                     Yes             4490
153 Malaysia                     No              2408
154 Malaysia                     <NA>             171
155 Netherlands                  Yes             4888
156 Netherlands                  No                31
157 Netherlands                  <NA>             127
158 Norway                       Yes             6212
159 Norway                       No                65
160 Norway                       <NA>             334
161 New Zealand                  Yes             4525
162 New Zealand                  No                53
163 New Zealand                  <NA>             104
164 Panama                       Yes             2892
165 Panama                       No              1056
166 Panama                       <NA>             596
167 Peru                         Yes             4143
168 Peru                         No              2624
169 Peru                         <NA>             201
170 Philippines                  Yes             4876
171 Philippines                  No              2169
172 Philippines                  <NA>             148
173 Poland                       Yes             5905
174 Poland                       No                62
175 Poland                       <NA>              44
176 Portugal                     Yes             6661
177 Portugal                     No                41
178 Portugal                     <NA>              91
179 Paraguay                     Yes             3540
180 Paraguay                     No              1154
181 Paraguay                     <NA>             390
182 Palestinian Authority        Yes             5922
183 Palestinian Authority        No              1557
184 Palestinian Authority        <NA>             426
185 Qatar                        Yes             6604
186 Qatar                        No               569
187 Qatar                        <NA>             503
188 Baku (Azerbaijan)            Yes             6752
189 Baku (Azerbaijan)            No               589
190 Baku (Azerbaijan)            <NA>             379
191 Ukrainian regions (18 of 27) Yes             3552
192 Ukrainian regions (18 of 27) No                96
193 Ukrainian regions (18 of 27) <NA>             228
194 Romania                      Yes             6993
195 Romania                      No               223
196 Romania                      <NA>             148
197 Saudi Arabia                 Yes             6202
198 Saudi Arabia                 No               535
199 Saudi Arabia                 <NA>             191
200 Singapore                    Yes             6511
201 Singapore                    No                49
202 Singapore                    <NA>              46
203 El Salvador                  Yes             4272
204 El Salvador                  No              1799
205 El Salvador                  <NA>             634
206 Serbia                       Yes             6227
207 Serbia                       No                80
208 Serbia                       <NA>             106
209 Slovak Republic              Yes             5527
210 Slovak Republic              No               114
211 Slovak Republic              <NA>             183
212 Slovenia                     Yes             6556
213 Slovenia                     No                52
214 Slovenia                     <NA>             113
215 Sweden                       Yes             5846
216 Sweden                       No                65
217 Sweden                       <NA>             161
218 Chinese Taipei               Yes             4921
219 Chinese Taipei               No               857
220 Chinese Taipei               <NA>              79
221 Thailand                     Yes             6590
222 Thailand                     No              1828
223 Thailand                     <NA>              77
224 Türkiye                      Yes             6130
225 Türkiye                      No              1068
226 Türkiye                      <NA>              52
227 Uruguay                      Yes             5737
228 Uruguay                      No               648
229 Uruguay                      <NA>             233
230 United States                Yes             4246
231 United States                No                99
232 United States                <NA>             207
233 Uzbekistan                   Yes             4291
234 Uzbekistan                   No              2463
235 Uzbekistan                   <NA>             539
236 Viet Nam                     Yes             5337
237 Viet Nam                     No               629
238 Viet Nam                     <NA>             102

summarise can also be used to work out statistics by grouping. For example, if you wanted to find out the max, mean and min science grade PV1SCIE by country CNT, you could do the following:

PISA_2022 %>% 
  group_by(CNT) %>%
  summarise(sci_max  = max(PV1SCIE,  na.rm = TRUE),
            sci_mean = mean(PV1SCIE, na.rm = TRUE),
            sci_min  = min(PV1SCIE,  na.rm = TRUE))
# A tibble: 80 × 4
   CNT                          sci_max sci_mean sci_min
   <fct>                          <dbl>    <dbl>   <dbl>
 1 Albania                         724.     376.    74.6
 2 United Arab Emirates            842.     436.     0  
 3 Argentina                       751.     415.   128. 
 4 Australia                       875.     508.   108. 
 5 Austria                         804.     494.   170. 
 6 Belgium                         792.     495.   169. 
 7 Bulgaria                        728.     422.   130. 
 8 Brazil                          784.     406.   106. 
 9 Brunei Darussalam               762.     445.   135. 
10 Canada                          893.     499.   107. 
11 Switzerland                     841.     501.   189. 
12 Chile                           752.     463.   125. 
13 Colombia                        739.     421.   153. 
14 Costa Rica                      722.     411.   170. 
15 Czech Republic                  871.     511.   177. 
16 Germany                         841.     495.   182. 
17 Denmark                         806.     480.   197. 
18 Dominican Republic              644.     362.   123. 
19 Spain                           831.     493.   161. 
20 Estonia                         839.     527.   231. 
21 Finland                         881.     498.    86.0
22 France                          839.     481.   129. 
23 United Kingdom                  895.     492.   149. 
24 Georgia                         670.     386.   118. 
25 Greece                          756.     445.    66.1
26 Guatemala                       654.     375.   171. 
27 Hong Kong (China)               814.     525.   184. 
28 Croatia                         773.     483.   142. 
29 Hungary                         767.     492.   190. 
30 Indonesia                       700.     395.    80.2
31 Ireland                         757.     504.   196. 
32 Iceland                         781.     448.    65.0
33 Israel                          812.     464.   129. 
34 Italy                           788.     481.   129. 
35 Jamaica                         699.     396.   103. 
36 Jordan                          658.     375.   134. 
37 Japan                           849.     546.   229. 
38 Kazakhstan                      790.     441.    86.6
39 Cambodia                        532.     340.   141. 
40 Korea                           865.     531.     0  
41 Kosovo                          607.     354.   168. 
42 Lithuania                       807.     480.   179. 
43 Latvia                          801.     493.   198. 
44 Macao (China)                   799.     543.   224. 
45 Morocco                         624.     363.   136. 
46 Republic of Moldova             712.     417.   155. 
47 Mexico                          667.     411.   131. 
48 North Macedonia                 701.     382.    80.9
49 Malta                           741.     470.   158. 
50 Montenegro                      713.     405.   150. 
51 Mongolia                        678.     411.   133. 
52 Malaysia                        759.     417.   182. 
53 Netherlands                     805.     487.   125. 
54 Norway                          849.     479.    95.8
55 New Zealand                     874.     505.   156. 
56 Panama                          739.     385.   125. 
57 Peru                            762.     411.   124. 
58 Philippines                     767.     354.   123. 
59 Poland                          778.     505.   204. 
60 Portugal                        766.     488.   174. 
61 Paraguay                        651.     372.   112. 
62 Palestinian Authority           653.     367.    48.4
63 Qatar                           803.     429.   138. 
64 Baku (Azerbaijan)               663.     382.    89.8
65 Ukrainian regions (18 of 27)    757.     454.   148. 
66 Romania                         745.     436.    85.8
67 Saudi Arabia                    695.     390.   182. 
68 Singapore                       873.     561.   188. 
69 El Salvador                     682.     375.    48.0
70 Serbia                          755.     447.   158. 
71 Slovak Republic                 830.     467.    99.0
72 Slovenia                        812.     487.   191. 
73 Sweden                          854.     494.   127. 
74 Chinese Taipei                  883.     527.   115. 
75 Thailand                        753.     429.   159. 
76 Türkiye                         763.     476.   162. 
77 Uruguay                         709.     433.   124. 
78 United States                   817.     498.   164. 
79 Uzbekistan                      630.     355.   143. 
80 Viet Nam                        752.     473.   178. 
Important

group_by() can have unintended consequences in your code if you are saving your pipes to new dataframes. To be safe your can clear any grouping by adding: my_data %>% ungroup()

4.1 Questions

  1. Spot the three errors with the following summarise statement
PISA_2022 %>% 
  group(CNT)
  summarise(num_stus = n)
answer
PISA_2022 %>% 
  group_by(CNT) %>% #1 group_by NOT group #2 missing pipe %>%
  summarise(num_stus = n()) #3 = n() not = n
  1. Write a group_by and summarise statement to work out the mean and median cultural capital value ESCS for each student by country CNT
answer
PISA_2022 %>%
  group_by(CNT) %>%
  summarise(escs_mean = mean(ESCS, na.rm=TRUE),
            escs_median = median(ESCS, na.rm=TRUE))
  1. Using summarise work out, Yes or No, by country CNT and gender ST004D01T, whether students “Agree/disagree: There are enough [digital resources] for every student at my school” IC172Q01JA. Filter out any NA values on IC172Q01JA:
answer
PISA_2022 %>% 
  filter(!is.na(IC172Q01JA)) %>%
  group_by(CNT, ST004D01T, IC172Q01JA) %>% 
  summarise(n=n())

5 mutate

Sometimes you will want to adjust the values stored in a field, e.g. converting a distance in miles into kilometres; or compute a new fields based on other fields, e.g. working out a total grade given the parts of a test. To do this we can use mutate. Unlike summarise, mutate retains all the other columns either adding a new column or changing an existing one

mutate(<field> = <field_calculation>)

The PISA_2022 dataset has results for maths PV1MATH, science PV1SCIE and reading PV1READ. We could combine these to create an overall PISA_grade, and PISA_mean:

PISA_2022 %>%                                       
1  mutate(PV1_total = PV1MATH + PV1SCIE + PV1READ,
2         PV1_mean = PV1_total/3) %>%
3  select(CNT, ST004D01T, ESCS, PV1_total, PV1_mean)
1
mutate creates a new field called PV1_total made up by adding together the columns for maths, science and reading. Each column acts like a vector and adding them together is the equivalent of adding each students individual grades together, row by row. See ?@sec-vectors for more details on vector addition.
2
inside the same mutate statement, we take the PV1_total calculated on line two and divide it by 3, to give us a mean value, this is then assigned to a new column, PV1_mean.
3
this line selects only the fields that we are interested in, dropping the others
# A tibble: 613,744 × 5
    CNT     ST004D01T    ESCS PV1_total PV1_mean
    <fct>   <fct>       <dbl>     <dbl>    <dbl>
  1 Albania Female     1.11        763.     254.
  2 Albania Male      -3.05        882.     294.
  3 Albania Male      -0.187       911.     304.
  4 Albania Female    -3.22        809.     270.
  5 Albania Female    -1.05       1335.     445.
  6 Albania Male       1.09       1464.     488.
  7 Albania Male      -0.762      1115.     372.
  8 Albania Female    -1.02        904.     301.
  9 Albania Female    -1.17       1145.     382.
 10 Albania Female     0.286      1235.     412.
 11 Albania Male      -1.98       1152.     384.
 12 Albania Male       0.063      1271.     424.
 13 Albania Male      -0.170       771.     257.
 14 Albania Male      -2.58        939.     313.
 15 Albania Female    -1.18       1388.     463.
 16 Albania Female    -0.596       977.     326.
 17 Albania Male      -1.09       1061.     354.
 18 Albania Female     0.746      1614.     538.
 19 Albania Female    -0.885      1214.     405.
 20 Albania Female    -1.63       1149.     383.
 21 Albania Male      -0.334      1382.     461.
 22 Albania Male      -2.10        950.     317.
 23 Albania Male      -1.10       1262.     421.
 24 Albania Female    -1.04       1056.     352.
 25 Albania Female    NA          1280.     427.
 26 Albania Female     0.364       968.     323.
 27 Albania Female    -2.75       1060.     353.
 28 Albania Female    -0.119      1007.     336.
 29 Albania Male      -1.20       1137.     379.
 30 Albania Female    -0.425      1297.     432.
 31 Albania Male      -0.150       874.     291.
 32 Albania Male      -1.71        989.     330.
 33 Albania Male      -1.67       1510.     503.
 34 Albania Female    -1.01        925.     308.
 35 Albania Female    -1.07       1311.     437.
 36 Albania Male      -0.420       975.     325.
 37 Albania Female    -1.78        982.     327.
 38 Albania Female    -0.222       811.     270.
 39 Albania Female    -1.18       1388.     463.
 40 Albania Female     0.352      1519.     506.
 41 Albania Female    -0.0602     1040.     347.
 42 Albania Male       0.675       901.     300.
 43 Albania Female     0.408      1176.     392.
 44 Albania Male      -0.872       886.     295.
 45 Albania Male       0.533       634.     211.
 46 Albania Female     0.263      1214.     405.
 47 Albania Female     0.336       846.     282.
 48 Albania Male      NA          1013.     338.
 49 Albania Male      -0.469      1101      367 
 50 Albania Female    -0.716      1167.     389.
 51 Albania Female    -0.540      1000.     333.
 52 Albania Female    -1.72        940.     313.
 53 Albania Female     0.660      1390.     463.
 54 Albania Male      -0.858       950.     317.
 55 Albania Male      -2.41        910.     303.
 56 Albania Female    -1.94       1260.     420.
 57 Albania Male      -1.22       1177.     392.
 58 Albania Male      -1.72        871.     290.
 59 Albania Male      -2.44       1140.     380.
 60 Albania Male       0.672      1409.     470.
 61 Albania Male      NA          1002.     334.
 62 Albania Female    -1.58       1078.     359.
 63 Albania Female    -1.57       1080.     360.
 64 Albania Female     0.256      1134.     378.
 65 Albania Male      NA          1048.     349.
 66 Albania Male       0.641      1268.     423.
 67 Albania Female    -1.05        973.     324.
 68 Albania Female     1.10       1599.     533.
 69 Albania Female    -0.0282     1206.     402.
 70 Albania Male      -1.57       1427.     476.
 71 Albania Female    -1.34       1046.     349.
 72 Albania Female    NA          1149.     383.
 73 Albania Male       0.358       881.     294.
 74 Albania Male      -0.0888     1399.     466.
 75 Albania Female     0.877      1263.     421.
 76 Albania Male      NA           957.     319.
 77 Albania Female     1.14       1118.     373.
 78 Albania Male      -1.18        761.     254.
 79 Albania Male      -1.18        891.     297.
 80 Albania Female     1.09       1527.     509.
 81 Albania Male       0.991      1239.     413.
 82 Albania Male      -0.083       970.     323.
 83 Albania Female    -0.901       829.     276.
 84 Albania Male      NA           809.     270.
 85 Albania Male      -0.344      1026.     342.
 86 Albania Male       0.381       927.     309.
 87 Albania Male       0.416       715.     238.
 88 Albania Male      -0.171      1002.     334.
 89 Albania Male      -1.62       1305.     435.
 90 Albania Male      NA           975.     325.
 91 Albania Female     0.652      1135.     378.
 92 Albania Male       0.592      1064.     355.
 93 Albania Female    -0.686      1012.     337.
 94 Albania Male      NA          1075.     358.
 95 Albania Male      -1.08        973.     324.
 96 Albania Male       1.04       1078.     359.
 97 Albania Female    -0.987      1053.     351.
 98 Albania Male      -2.58       1070.     357.
 99 Albania Female    -1.26       1083.     361.
100 Albania Female     2.33        940.     313.
101 Albania Female    -0.539       928.     309.
102 Albania Male      -0.912      1244.     415.
103 Albania Female    -1.05        986.     329.
104 Albania Female     0.172       988.     329.
105 Albania Male      -1.76        761.     254.
106 Albania Male       0.508      1082.     361.
107 Albania Female    -1.74       1364.     455.
108 Albania Male      NA          1329.     443.
109 Albania Female    -1.10       1054.     352.
110 Albania Male      NA          1396.     465.
111 Albania Male      -1.52        628.     209.
112 Albania Female    -1.77       1393.     464.
113 Albania Male       0.796       925.     308.
114 Albania Male       0.720      1433.     478.
115 Albania Male      -2.30        784.     261.
116 Albania Female    -2.15        899.     300.
117 Albania Female    -0.294      1005.     335.
118 Albania Male      -0.512       719.     240.
119 Albania Male      -1.21        769.     256.
120 Albania Female    -1.70       1116.     372.
121 Albania Female    -1.33       1070.     357.
122 Albania Female    -1.75        989.     330.
123 Albania Male      -0.559       758.     253.
124 Albania Male       1.16        921.     307.
125 Albania Female    -2.56        985.     328.
126 Albania Female     0.811      1081.     360.
127 Albania Male      -1.17       1151.     384.
128 Albania Female    -1.53       1021.     340.
129 Albania Female     0.893      1208.     403.
130 Albania Female    -0.664       776.     259.
131 Albania Male       0.328      1342.     447.
132 Albania Male      NA          1041.     347.
133 Albania Female    -1.77       1471.     490.
134 Albania Male       1.12       1196.     399.
135 Albania Female    -0.172      1281.     427.
136 Albania Female    -0.608      1016.     339.
137 Albania Male      -1.80        907.     302.
138 Albania Male      -1.30       1253.     418.
139 Albania Female    -0.631      1281.     427.
140 Albania Female    -2.02       1452.     484.
141 Albania Female    -0.403       911.     304.
142 Albania Male      -1.92       1020.     340.
143 Albania Male      NA          1501.     500.
144 Albania Male      -0.605       988.     329.
145 Albania Male      NA          1064.     355.
146 Albania Female    -1.32        957.     319.
147 Albania Male       0.268       946.     315.
148 Albania Male      -0.545       809.     270.
149 Albania Female    -1.61        776.     259.
150 Albania Male      -3.23        902.     301.
151 Albania Male       0.996       830.     277.
152 Albania Female    -0.745      1327.     442.
153 Albania Male      -0.324       844.     281.
154 Albania Female    -2.23        873.     291.
155 Albania Female    -1.67       1223.     408.
156 Albania Female     0.314      1336.     445.
157 Albania Male      -0.838      1068.     356.
158 Albania Male      -1.35       1160.     387.
159 Albania Female    -2.40       1162.     387.
160 Albania Female    -1.76       1140.     380.
161 Albania Female    -3.22       1334.     445.
162 Albania Female    -0.630       826.     275.
163 Albania Male       0.529       877.     292.
164 Albania Male      -0.716       885.     295.
165 Albania Female     1.03       1604.     535.
166 Albania Male      -0.644      1208.     403.
167 Albania Female    -1.09        854.     285.
168 Albania Male       0.136      1178.     393.
169 Albania Male       0.160      1053.     351.
170 Albania Male      -1.02       1018.     339.
171 Albania Male      -0.335      1010.     337.
172 Albania Female    -1.82       1243.     414.
173 Albania Male       0.859       679.     226.
174 Albania Male      -0.262       920.     307.
175 Albania Female    -0.384       965.     322.
176 Albania Female    -1.17        792.     264.
177 Albania Male      -1.49       1005.     335.
178 Albania Male      -1.51       1019.     340.
179 Albania Male      -2.14        873.     291.
180 Albania Male      -0.33        886.     295.
181 Albania Female    -0.514      1328.     443.
182 Albania Male      -1.25        707.     236.
183 Albania Male      NA           891.     297.
184 Albania Male       1.13        814.     271.
185 Albania Female     0.817      1296.     432.
186 Albania Female    -0.583      1057.     352.
187 Albania Female    -1.40        806.     269.
188 Albania Female    -0.981      1608.     536.
189 Albania Female     0.170      1180.     393.
190 Albania Female    -1.92       1169.     390.
191 Albania Male      -2.27        932.     311.
192 Albania Male      -2.55       1252.     417.
193 Albania Female    -1.87       1083.     361.
194 Albania Male      -2.00        902.     301.
195 Albania Female     0.594      1247.     416.
196 Albania Male      -1.75        837.     279.
197 Albania Male      -1.88       1038.     346.
198 Albania Male      -0.723      1544.     515.
199 Albania Male      -0.608       768.     256.
200 Albania Female    -0.942      1540.     513.
201 Albania Male       0.814      1191.     397.
202 Albania Female    -0.804      1426.     475.
203 Albania Female    -1.24        840.     280.
204 Albania Female    -1.81       1173.     391.
205 Albania Male      -0.922       813.     271.
206 Albania Male      -1.16       1228.     409.
207 Albania Female     0.764      1398.     466.
208 Albania Female     0.836      1353.     451.
209 Albania Male      -1.24        867.     289.
210 Albania Male       0.217      1458.     486.
211 Albania Female    -2.11       1284.     428.
212 Albania Female     0.0088      713.     238.
213 Albania Male      -1.97       1286.     429.
214 Albania Male      -3.09       1011.     337.
215 Albania Male      NA          1115.     372.
216 Albania Female    -1.96       1032.     344.
217 Albania Female    -1.08       1143.     381.
218 Albania Male      -0.853       863.     288.
219 Albania Male      NA           994.     331.
220 Albania Female    -1.53       1208.     403.
221 Albania Female    -1.02        783.     261.
222 Albania Male       0.0068      772.     257.
223 Albania Female     1.15       1235.     412.
224 Albania Female    -1.75       1374.     458.
225 Albania Female    -0.0901     1285.     428.
226 Albania Male      -0.113       805.     268.
227 Albania Female    -3.80        992.     331.
228 Albania Male      -2.52       1065.     355.
229 Albania Female     0.565      1356.     452.
230 Albania Male      -1.35       1075.     358.
231 Albania Male      -0.390      1659.     553.
232 Albania Female    -1.98       1104.     368.
233 Albania Female    -1.89        982.     327.
234 Albania Female    NA          1183.     394.
235 Albania Male       0.195       982.     327.
236 Albania Male      -1.47       1339.     446.
237 Albania Female     0.801      1431.     477.
238 Albania Male       0.229      1386.     462.
239 Albania Male      NA          1137.     379.
240 Albania Male       0.265      1550.     517.
241 Albania Female    -2.26        811.     270.
242 Albania Male      -2.35       1272.     424.
243 Albania Female    -2.84       1267.     422.
244 Albania Female    -1.90       1414.     471.
245 Albania Female    -2.09       1212.     404.
246 Albania Male      -1.97        926.     309.
247 Albania Female     1.00       1367.     456.
248 Albania Female     0.614      1092.     364.
249 Albania Male      -1.32       1071.     357.
250 Albania Female    -0.404      1225.     408.
251 Albania Male      -1.13        922.     307.
252 Albania Female    -0.743      1222.     407.
253 Albania Female    -0.0284     1560.     520.
254 Albania Male      -0.980      1056.     352.
255 Albania Male      -0.108      1413.     471.
256 Albania Female    -0.508      1312.     437.
257 Albania Female     0.0998     1303.     434.
258 Albania Male      -1.62        876.     292.
259 Albania Male      -2.29        891.     297.
260 Albania Male       0.828       807.     269.
261 Albania Female    -2.20        944.     315.
262 Albania Male      NA           757.     252.
263 Albania Male       0.549       938.     313.
264 Albania Female    -1.02       1331.     444.
265 Albania Female    NA          1155.     385.
266 Albania Female     0.405      1561.     520.
267 Albania Male      -0.546      1245.     415.
268 Albania Female     1.02        911.     304.
269 Albania Male       0.623      1055.     352.
270 Albania Female    -1.76        916.     305.
271 Albania Male      -0.560      1441.     480.
272 Albania Female    -2.24       1102.     367.
273 Albania Male      -0.830      1233.     411.
274 Albania Male      -1.63       1055.     352.
275 Albania Female    -0.958      1453.     484.
276 Albania Female    -0.216      1010.     337.
277 Albania Male       1.19       1525.     508.
278 Albania Female     0.412      1214.     405.
279 Albania Female    -2.00        835.     278.
280 Albania Male      -0.851      1611.     537.
281 Albania Male      -1.65       1337.     446.
282 Albania Female     0.801       960.     320.
283 Albania Male      -0.593       826.     275.
284 Albania Male       0           886.     295.
285 Albania Male      -1.03        776.     259.
286 Albania Female     0.338      1112.     371.
287 Albania Male      -1.58        841.     280.
288 Albania Male      -2.05        796.     265.
289 Albania Female    -1.42       1234.     411.
290 Albania Male      -1.23        932.     311.
291 Albania Female     0.214      1054.     351.
292 Albania Male      -0.0101     1171.     390.
293 Albania Male      -0.878       748.     249.
294 Albania Female    -0.249       891.     297.
295 Albania Female    -1.72       1038.     346.
296 Albania Male       0.425      1036.     345.
297 Albania Male      -1.53       1005.     335.
298 Albania Male      -0.795      1067.     356.
299 Albania Female     0.870       737.     246.
300 Albania Female     0.626      1319.     440.
301 Albania Male      -0.602       922.     307.
302 Albania Female    -2.44       1398.     466.
303 Albania Male       0.382       927.     309.
304 Albania Male      -0.424      1353.     451.
305 Albania Male      -1.02        972.     324.
306 Albania Male      -0.721      1002.     334.
307 Albania Female    -1.99       1162.     387.
308 Albania Male      -0.730      1130.     377.
309 Albania Male      NA          1212.     404.
310 Albania Female    -1.15        934.     311.
311 Albania Male       1.10       1821.     607.
312 Albania Male      -1.39        926.     309.
313 Albania Female    -2.61       1069.     356.
314 Albania Female    -2.22       1016.     339.
315 Albania Male       0.674      1166.     389.
316 Albania Female    NA           889.     296.
317 Albania Male       1.01       1569.     523.
318 Albania Female    -1.10       1494.     498.
319 Albania Female    -2.82        822.     274.
320 Albania Female    -2.94        772.     257.
321 Albania Male      -1.39       1206.     402.
322 Albania Female    -1.98        991.     330.
323 Albania Female     0.614      1371.     457.
324 Albania Female    NA          1174.     391.
325 Albania Female    NA          1303.     434.
326 Albania Male      -1.80       1173.     391.
327 Albania Male      -1.23       1044.     348.
328 Albania Female     0.508      1747.     582.
329 Albania Male      -0.251       747.     249.
330 Albania Male       1.06       1127.     376.
331 Albania Female    -0.0118     1292.     431.
332 Albania Male      NA          1012.     337.
333 Albania Female     1.08        975.     325.
334 Albania Female    -0.856      1175.     392.
335 Albania Female     0.423      1352.     451.
336 Albania Male       0.472      1444.     481.
337 Albania Male      -1.42        886.     295.
338 Albania Female    -2.31        948.     316.
339 Albania Female     0.185      1394.     465.
340 Albania Male      -1.50       1114.     371.
341 Albania Male      -1.72       1265.     422.
342 Albania Male      -1.32        922.     307.
343 Albania Female    -2.21       1013.     338.
344 Albania Female    -0.716       880.     293.
345 Albania Male      -1.20        936.     312.
346 Albania Male       0.376       928.     309.
347 Albania Male      NA           932.     311.
348 Albania Male       0.773      1422.     474.
349 Albania Male      -1.22        757.     252.
350 Albania Female    -0.488      1260.     420.
351 Albania Male      -1.19        985.     328.
352 Albania Female    -1.87        832.     277.
353 Albania Female     0.442      1044.     348.
354 Albania Female    -0.754      1066.     355.
355 Albania Female    -0.633       850.     283.
356 Albania Male      -0.338      1109.     370.
357 Albania Male      -0.0522      871.     290.
358 Albania Male      -0.750      1345.     448.
359 Albania Male      -0.924       924.     308.
360 Albania Female     0.594      1476.     492.
361 Albania Male       0.844      1547.     516.
362 Albania Female    -0.392      1213.     404.
363 Albania Female    -1.61       1035.     345.
364 Albania Male      -1.61        591.     197.
365 Albania Male      -0.135      1358.     453.
366 Albania Female    -1.30       1257.     419.
367 Albania Male      -2.34        731.     244.
368 Albania Male       0.512       801.     267.
369 Albania Female    -2.71       1055.     352.
370 Albania Female    -0.966      1268.     423.
371 Albania Female    NA          1333.     444.
372 Albania Male      -0.925      1080.     360.
373 Albania Male       0.868       507.     169.
374 Albania Male       0.366      1250.     417.
375 Albania Male      -0.518      1059.     353.
376 Albania Male      -1.80        882.     294.
377 Albania Male      -1.32       1319.     440.
378 Albania Male      -0.0169      857.     286.
379 Albania Female    -1.18       1332.     444.
380 Albania Female    -2.01       1109.     370.
381 Albania Female    -0.704      1019.     340.
382 Albania Male      -2.05       1099.     366.
383 Albania Male      -2.03        930.     310.
384 Albania Female    -1.09        974.     325.
385 Albania Male      -0.312       967.     322.
386 Albania Male       0.550       753.     251.
387 Albania Male       0.459       875.     292.
388 Albania Female    -1.15        937.     312.
389 Albania Female    -0.747      1376.     459.
390 Albania Male       0.499       832.     277.
391 Albania Male       1.20       1450.     483.
392 Albania Male      -2.59        939.     313.
393 Albania Male      -2.85        910.     303.
394 Albania Female    -2.10        837.     279.
395 Albania Female    NA          1074.     358.
396 Albania Female    -1.63       1041.     347.
397 Albania Male      NA          1203.     401.
398 Albania Female    -1.14       1298.     433.
399 Albania Male      NA           957.     319.
400 Albania Female    -1.68        847.     282.
401 Albania Male      -0.302      1088.     363.
402 Albania Male      -2.47       1026.     342.
403 Albania Female    -0.340      1467.     489.
404 Albania Female    -1.51       1073.     358.
405 Albania Female     0.0844      897.     299.
406 Albania Female    -2.07       1004.     335.
407 Albania Male      -1.32       1025.     342.
408 Albania Male      -1.33       1050.     350.
409 Albania Male      -0.565       936.     312.
410 Albania Female    NA          1231.     410.
411 Albania Female     0.996       943.     314.
412 Albania Female    -0.289      1413.     471.
413 Albania Female    -2.14        831.     277.
414 Albania Female     0.0733      949.     316.
415 Albania Male       0.122       970.     323.
416 Albania Female    -1.67       1116.     372.
417 Albania Female    -1.30       1541.     514.
418 Albania Male      -1.59       1078.     359.
419 Albania Female    -0.959      1516.     505.
420 Albania Male      -2.14        977.     326.
421 Albania Female    -0.383       973.     324.
422 Albania Female    -0.312      1216.     405.
423 Albania Female    -0.308       939.     313.
424 Albania Male      -0.866      1264.     421.
425 Albania Female    NA           925.     308.
426 Albania Female    NA          1136.     379.
427 Albania Female    -1.36       1122.     374.
428 Albania Male      -1.52        792.     264.
429 Albania Female    -1.57       1106.     369.
430 Albania Male      -1.67       1276.     425.
431 Albania Male      -2.58        721.     240.
432 Albania Male      -0.652       668.     223.
433 Albania Female    -0.0924     1264.     421.
434 Albania Female    -1.11       1065.     355.
435 Albania Male      NA           909.     303.
436 Albania Female    -1.94       1073.     358.
437 Albania Male       0.588      1172.     391.
438 Albania Male      -0.908       755.     252.
439 Albania Male       1.10        919.     306.
440 Albania Female    -0.093      1032.     344.
441 Albania Male       1.38       1436.     479.
442 Albania Male      -1.73        887.     296.
443 Albania Male      -2.40       1215.     405.
444 Albania Female    -0.188      1210.     403.
445 Albania Male      -1.55       1363.     454.
446 Albania Female     0.374      1107.     369.
447 Albania Male      -1.59        782.     261.
448 Albania Female    -2.20       1210.     403.
449 Albania Male      -1.65        902.     301.
450 Albania Female    -0.103      1166.     389.
451 Albania Female    -2.90       1141.     380.
452 Albania Female    -0.212       948.     316.
453 Albania Female     0.518      1090.     363.
454 Albania Female    -2.81       1154.     385.
455 Albania Female     0.756      1314.     438.
456 Albania Male      -1.23        973.     324.
457 Albania Female    -0.470      1036.     345.
458 Albania Female    -1.32       1321.     440.
459 Albania Female     1.13       1033.     344.
460 Albania Female    -0.706       922.     307.
461 Albania Male       0.499      1103.     368.
462 Albania Male      -0.239      1433.     478.
463 Albania Male      -1.04       1063.     354.
464 Albania Female    -2.20        758.     253.
465 Albania Male      -1.77        945.     315.
466 Albania Female     0.136      1364.     455.
467 Albania Male       2.34        772.     257.
468 Albania Female     1.31       1403.     468.
469 Albania Male      -0.531       851.     284.
470 Albania Female    -2.02        796.     265.
471 Albania Male       0.560      1495.     498.
472 Albania Female    -2.63       1030.     343.
473 Albania Female     0.368      1227.     409.
474 Albania Female    -2.10       1125.     375.
475 Albania Female     0.752      1102.     367.
476 Albania Female    -1.51       1335.     445.
477 Albania Male       0.436       741.     247.
478 Albania Female    -2.12       1116.     372.
479 Albania Male      -0.451      1298.     433.
480 Albania Male       0.468       845.     282.
481 Albania Male      -1.07       1044.     348.
482 Albania Female    -2.99       1143.     381.
483 Albania Female    -1.10       1659.     553.
484 Albania Female    -0.633      1111.     370.
485 Albania Female    -1.39       1126.     375.
486 Albania Male       0.199       917.     306.
487 Albania Female     0.505      1035.     345.
488 Albania Male       0.505      1024.     341.
489 Albania Male      -1.19        745.     248.
490 Albania Female     0.446      1145.     382.
491 Albania Female    -2.79        819.     273.
492 Albania Male       0.610       817.     272.
493 Albania Female    -1.10        949.     316.
494 Albania Male      -1.71       1666.     555.
495 Albania Female    -0.804      1361.     454.
496 Albania Male       1.18       1298.     433.
497 Albania Female    -1.77       1097.     366.
498 Albania Male      -2.67        964.     321.
499 Albania Female    -1.57       1115.     372.
500 Albania Female    -2.36        816.     272.
# ℹ 613,244 more rows

We can use mutate to create subsets of data in fields. For example, if we wanted to see how many students in each country were high performing readers, specified by getting a reading grade of greater than 550, we could do the following:

PISA_2022 %>%
2  mutate(PV1READ_high = PV1READ > 550) %>%
3  group_by(CNT, PV1READ_high) %>%
4  summarise(n = n())
2
this line creates a new column called PV1READ_high for every students, storing a boolean value, TRUE or FALSE depending on whether their reading grates PV1READ > 550.
3
a grouping is made on the country and the new field PV1READ_high, e.g. Albania + TRUE, Albania + FALSE, etc.
4
using summarise we can find the number of student rows in each grouping using n(), and drop all the other fields
# A tibble: 159 × 3
# Groups:   CNT [80]
    CNT                          PV1READ_high     n
    <fct>                        <lgl>        <int>
  1 Albania                      FALSE         6055
  2 Albania                      TRUE            74
  3 United Arab Emirates         FALSE        20711
  4 United Arab Emirates         TRUE          3889
  5 Argentina                    FALSE        11197
  6 Argentina                    TRUE           914
  7 Australia                    FALSE         9005
  8 Australia                    TRUE          4432
  9 Austria                      FALSE         4461
 10 Austria                      TRUE          1690
 11 Belgium                      FALSE         6049
 12 Belgium                      TRUE          2237
 13 Bulgaria                     FALSE         5521
 14 Bulgaria                     TRUE           586
 15 Brazil                       FALSE         9772
 16 Brazil                       TRUE          1026
 17 Brunei Darussalam            FALSE         4931
 18 Brunei Darussalam            TRUE           645
 19 Canada                       FALSE        16260
 20 Canada                       TRUE          6813
 21 Switzerland                  FALSE         4986
 22 Switzerland                  TRUE          1843
 23 Chile                        FALSE         5244
 24 Chile                        TRUE          1244
 25 Colombia                     FALSE         7142
 26 Colombia                     TRUE           662
 27 Costa Rica                   FALSE         5736
 28 Costa Rica                   TRUE           377
 29 Czech Republic               FALSE         5661
 30 Czech Republic               TRUE          2799
 31 Germany                      FALSE         4428
 32 Germany                      TRUE          1688
 33 Denmark                      FALSE         4744
 34 Denmark                      TRUE          1456
 35 Dominican Republic           FALSE         6766
 36 Dominican Republic           TRUE           102
 37 Spain                        FALSE        23377
 38 Spain                        TRUE          7423
 39 Estonia                      FALSE         4100
 40 Estonia                      TRUE          2292
 41 Finland                      FALSE         7446
 42 Finland                      TRUE          2793
 43 France                       FALSE         5157
 44 France                       TRUE          1613
 45 United Kingdom               FALSE         9117
 46 United Kingdom               TRUE          3855
 47 Georgia                      FALSE         6435
 48 Georgia                      TRUE           148
 49 Greece                       FALSE         5577
 50 Greece                       TRUE           826
 51 Guatemala                    FALSE         5123
 52 Guatemala                    TRUE            67
 53 Hong Kong (China)            FALSE         3926
 54 Hong Kong (China)            TRUE          1981
 55 Croatia                      FALSE         4875
 56 Croatia                      TRUE          1260
 57 Hungary                      FALSE         4619
 58 Hungary                      TRUE          1579
 59 Indonesia                    FALSE        13265
 60 Indonesia                    TRUE           174
 61 Ireland                      FALSE         3469
 62 Ireland                      TRUE          2100
 63 Iceland                      FALSE         2875
 64 Iceland                      TRUE           485
 65 Israel                       FALSE         4476
 66 Israel                       TRUE          1775
 67 Italy                        FALSE         8077
 68 Italy                        TRUE          2475
 69 Jamaica                      FALSE         3609
 70 Jamaica                      TRUE           264
 71 Jordan                       FALSE         7760
 72 Jordan                       TRUE            39
 73 Japan                        FALSE         3568
 74 Japan                        TRUE          2192
 75 Kazakhstan                   FALSE        18472
 76 Kazakhstan                   TRUE          1297
 77 Cambodia                     FALSE         5279
 78 Korea                        FALSE         3838
 79 Korea                        TRUE          2616
 80 Kosovo                       FALSE         6020
 81 Kosovo                       TRUE             7
 82 Lithuania                    FALSE         5837
 83 Lithuania                    TRUE          1420
 84 Latvia                       FALSE         4269
 85 Latvia                       TRUE          1104
 86 Macao (China)                FALSE         2904
 87 Macao (China)                TRUE          1480
 88 Morocco                      FALSE         6856
 89 Morocco                      TRUE            11
 90 Republic of Moldova          FALSE         5868
 91 Republic of Moldova          TRUE           367
 92 Mexico                       FALSE         5935
 93 Mexico                       TRUE           353
 94 North Macedonia              FALSE         6570
 95 North Macedonia              TRUE            40
 96 Malta                        FALSE         2545
 97 Malta                        TRUE           582
 98 Montenegro                   FALSE         5447
 99 Montenegro                   TRUE           346
100 Mongolia                     FALSE         6911
101 Mongolia                     TRUE            88
102 Malaysia                     FALSE         6877
103 Malaysia                     TRUE           192
104 Netherlands                  FALSE         3791
105 Netherlands                  TRUE          1255
106 Norway                       FALSE         4811
107 Norway                       TRUE          1800
108 New Zealand                  FALSE         3106
109 New Zealand                  TRUE          1576
110 Panama                       FALSE         4337
111 Panama                       TRUE           207
112 Peru                         FALSE         6487
113 Peru                         TRUE           481
114 Philippines                  FALSE         7106
115 Philippines                  TRUE            87
116 Poland                       FALSE         4143
117 Poland                       TRUE          1868
118 Portugal                     FALSE         5162
119 Portugal                     TRUE          1631
120 Paraguay                     FALSE         4988
121 Paraguay                     TRUE            96
122 Palestinian Authority        FALSE         7881
123 Palestinian Authority        TRUE            24
124 Qatar                        FALSE         6841
125 Qatar                        TRUE           835
126 Baku (Azerbaijan)            FALSE         7598
127 Baku (Azerbaijan)            TRUE           122
128 Ukrainian regions (18 of 27) FALSE         3503
129 Ukrainian regions (18 of 27) TRUE           373
130 Romania                      FALSE         6395
131 Romania                      TRUE           969
132 Saudi Arabia                 FALSE         6790
133 Saudi Arabia                 TRUE           138
134 Singapore                    FALSE         3221
135 Singapore                    TRUE          3385
136 El Salvador                  FALSE         6588
137 El Salvador                  TRUE           117
138 Serbia                       FALSE         5640
139 Serbia                       TRUE           773
140 Slovak Republic              FALSE         4759
141 Slovak Republic              TRUE          1065
142 Slovenia                     FALSE         5619
143 Slovenia                     TRUE          1102
144 Sweden                       FALSE         4237
145 Sweden                       TRUE          1835
146 Chinese Taipei               FALSE         3785
147 Chinese Taipei               TRUE          2072
148 Thailand                     FALSE         7971
149 Thailand                     TRUE           524
150 Türkiye                      FALSE         6180
151 Türkiye                      TRUE          1070
152 Uruguay                      FALSE         5839
153 Uruguay                      TRUE           779
154 United States                FALSE         2976
155 United States                TRUE          1576
156 Uzbekistan                   FALSE         7288
157 Uzbekistan                   TRUE             5
158 Viet Nam                     FALSE         5348
159 Viet Nam                     TRUE           720

Comparisons can also be made between different columns, if we wanted to find out the percentage of Males and Females that got a better grade in their maths test PV1MATH than in their reading test PV1READ:

PISA_2022 %>%
2  mutate(maths_better = PV1MATH > PV1READ) %>%
3  select(CNT, ST004D01T, maths_better, PV1MATH, PV1READ) %>%
4  filter(!is.na(ST004D01T), !is.na(maths_better)) %>%
5  group_by(ST004D01T) %>%
6  mutate(students_n = n()) %>%
7  group_by(ST004D01T, maths_better) %>%
8  summarise(n = n(),
9            per = n/unique(students_n))
2
mutate creates a new field called maths_better made up by comparing the PV1MATH grade with PV1READ and creating a boolean/logical vector for the column.
3
selects a subset of the columns
4
filters out any students that don’t have gender data ST004D01T and where the calculation on line 2 failed, i.e. PV1MATH or PV1READ was NA
5
group on the gender of the student
6
using the group on line 5, use mutate to calculate the total number of Males and Females by looking for the number of rows in each group n(), store this as students_n
7
re-group the data on gender ST004D01T and whether the student is better at maths than reading maths_better
8
count the number of students, n in each group specified by line 7.
9
create a percentage figure for the number of students in each grouping given by line 7. Use the n value from line 8 and the students_n value from line 6. NOTE: we need to use unique(students_n) to return just one value for each grouping rather than a value for every row of the line 7 grouping
# A tibble: 4 × 4
# Groups:   ST004D01T [2]
  ST004D01T maths_better      n   per
  <fct>     <lgl>         <int> <dbl>
1 Female    FALSE        180350 0.590
2 Female    TRUE         125409 0.410
3 Male      FALSE        118341 0.384
4 Male      TRUE         189565 0.616

For more information on how to mutate fields using ifelse, see Section 8.1

6 arrange

The results returned by pipes can be huge, so it’s a good idea to store them in objects and explore them in the Environment window where you can sort and search within the output. There might also be times when you want to order/arrange the outputs in a particular way. We can do this quite easily in the tidyverse by using the arrange(<column_name>, <column_name>) function.

PISA_2022 %>%
  select(CNT, ST004D01T, PV1MATH) %>%
  arrange(PV1MATH)
# A tibble: 613,744 × 3
    CNT                   ST004D01T PV1MATH
    <fct>                 <fct>       <dbl>
  1 Cambodia              Male          0  
  2 Guatemala             Female       57.8
  3 Cambodia              Female       84.7
  4 Cambodia              Male         87.9
  5 Cambodia              Male         88.6
  6 Paraguay              Male         90.4
  7 Cambodia              Male         94.4
  8 Cambodia              Female       98.0
  9 Albania               Male         99.7
 10 Cambodia              Female      100. 
 11 Cambodia              Male        104. 
 12 Cambodia              Male        105. 
 13 Israel                Female      105. 
 14 Cambodia              Female      110. 
 15 Chile                 Female      110. 
 16 Albania               Female      113. 
 17 Cambodia              Male        113. 
 18 Cambodia              Female      115. 
 19 Cambodia              Male        115. 
 20 Israel                Female      117. 
 21 Albania               Male        117. 
 22 Greece                Male        118. 
 23 United Arab Emirates  Male        119. 
 24 Sweden                Female      119. 
 25 Cambodia              Male        120. 
 26 Guatemala             Female      121. 
 27 Cambodia              Female      121. 
 28 Serbia                Female      122. 
 29 Cambodia              Male        123. 
 30 Cambodia              Male        124. 
 31 United Arab Emirates  Male        124. 
 32 Cambodia              Male        125. 
 33 Cambodia              Female      125. 
 34 Cambodia              Female      126. 
 35 Paraguay              Female      127. 
 36 United Arab Emirates  Male        127. 
 37 Montenegro            Male        128. 
 38 Paraguay              Female      129. 
 39 United Arab Emirates  Male        129. 
 40 Albania               Female      129. 
 41 Canada                Female      129. 
 42 Cambodia              Male        129. 
 43 Spain                 Male        129. 
 44 Cambodia              Male        130. 
 45 Guatemala             Female      130. 
 46 Uruguay               Female      131. 
 47 Cambodia              Male        133. 
 48 Paraguay              Female      133. 
 49 Guatemala             Male        133. 
 50 Romania               Male        133. 
 51 Cambodia              Male        133. 
 52 Albania               Female      133. 
 53 Albania               Male        134. 
 54 Paraguay              Female      134. 
 55 Paraguay              Male        134. 
 56 Israel                Male        135. 
 57 North Macedonia       Male        135. 
 58 Paraguay              Female      135. 
 59 Brazil                Male        135. 
 60 Brunei Darussalam     Male        136. 
 61 Paraguay              Female      136. 
 62 Albania               Male        136. 
 63 Cambodia              Male        136. 
 64 Cambodia              Male        136. 
 65 Paraguay              Female      137. 
 66 Paraguay              Male        137. 
 67 Cambodia              Male        138. 
 68 Cambodia              Male        138. 
 69 Cambodia              Female      139. 
 70 Korea                 Female      139. 
 71 Israel                Male        139. 
 72 Kazakhstan            Male        140. 
 73 Cambodia              Male        140. 
 74 Paraguay              Female      140. 
 75 Paraguay              Male        140. 
 76 Paraguay              Male        141. 
 77 Uruguay               Female      141. 
 78 Cambodia              Female      141. 
 79 Baku (Azerbaijan)     Male        141. 
 80 Serbia                Female      141. 
 81 Georgia               Male        141. 
 82 Hungary               Female      142. 
 83 Paraguay              Female      142. 
 84 Jordan                Male        142. 
 85 Cambodia              Male        143. 
 86 Cambodia              Male        143. 
 87 Albania               Male        143. 
 88 Cambodia              Male        144. 
 89 Albania               Male        144. 
 90 Romania               Female      144. 
 91 Cambodia              Male        145. 
 92 Uzbekistan            Female      145. 
 93 Israel                Male        145. 
 94 Cambodia              Female      145. 
 95 Paraguay              Male        146. 
 96 Cambodia              Female      146. 
 97 Cambodia              Male        146. 
 98 Israel                Male        147. 
 99 Paraguay              Female      147. 
100 Paraguay              Female      147. 
101 Thailand              Female      147. 
102 Paraguay              Female      148. 
103 Guatemala             Male        148. 
104 Guatemala             Female      148. 
105 Germany               Male        148. 
106 Albania               Male        148. 
107 United Arab Emirates  Male        148. 
108 Israel                Male        148. 
109 Cambodia              Male        148. 
110 Cambodia              Male        148. 
111 Cambodia              Male        149. 
112 Romania               Male        150. 
113 Paraguay              Female      150. 
114 Germany               Male        150. 
115 Georgia               Male        150. 
116 North Macedonia       Male        150. 
117 Paraguay              Female      150. 
118 Uzbekistan            Male        150. 
119 Guatemala             Male        151. 
120 Paraguay              Female      151. 
121 Cambodia              Male        151. 
122 Paraguay              Male        151. 
123 Slovak Republic       Male        151. 
124 Cambodia              Male        152. 
125 France                Male        152. 
126 Paraguay              Male        152. 
127 Kazakhstan            Female      153. 
128 Cambodia              Male        153. 
129 United Arab Emirates  Male        153. 
130 Cambodia              Female      153. 
131 North Macedonia       Male        153. 
132 North Macedonia       Male        153. 
133 Slovak Republic       Female      154. 
134 Malta                 Male        154. 
135 Albania               Female      154. 
136 Albania               Male        154. 
137 Uzbekistan            Female      154. 
138 Paraguay              Male        155. 
139 Guatemala             Female      155. 
140 United Kingdom        Female      155. 
141 Palestinian Authority Male        155. 
142 Cambodia              Female      155. 
143 Cambodia              Female      155. 
144 Qatar                 Female      156. 
145 Baku (Azerbaijan)     Male        156. 
146 Cambodia              Female      156. 
147 Paraguay              Male        156. 
148 Cambodia              Male        156. 
149 Cambodia              Male        157. 
150 North Macedonia       Female      157. 
151 Qatar                 Male        157. 
152 Qatar                 Male        157. 
153 Uzbekistan            Female      157. 
154 Albania               Male        157. 
155 Uzbekistan            Male        157. 
156 Cambodia              Female      158. 
157 Baku (Azerbaijan)     Female      158. 
158 Cambodia              Female      158. 
159 United Arab Emirates  Male        158. 
160 Albania               Male        158. 
161 Cambodia              Female      158. 
162 Korea                 Male        158. 
163 Republic of Moldova   Female      158. 
164 Guatemala             Male        158. 
165 Cambodia              Male        158. 
166 Paraguay              Female      158. 
167 Serbia                Female      158. 
168 Guatemala             Female      159. 
169 Cambodia              Male        159. 
170 Paraguay              Female      159. 
171 Baku (Azerbaijan)     Male        159. 
172 Uzbekistan            Male        159. 
173 Albania               Male        159. 
174 Israel                Female      160. 
175 Cambodia              Female      160. 
176 United Kingdom        Female      160. 
177 Paraguay              Male        160. 
178 Cambodia              Male        160. 
179 Cambodia              Male        160. 
180 Uzbekistan            Female      160. 
181 Indonesia             Female      160. 
182 Romania               Male        161. 
183 Guatemala             Female      161. 
184 Cambodia              Male        161. 
185 Cambodia              Female      161. 
186 Cambodia              Female      161. 
187 United Arab Emirates  Male        162. 
188 Paraguay              Male        162. 
189 Finland               Female      162. 
190 Montenegro            Female      162. 
191 Colombia              Female      162. 
192 Cambodia              Female      162. 
193 Paraguay              Male        162. 
194 Georgia               Male        162. 
195 Guatemala             Female      163. 
196 North Macedonia       Male        163. 
197 Paraguay              Female      163. 
198 Spain                 Female      163. 
199 United Arab Emirates  Male        163. 
200 Guatemala             Male        163. 
201 Georgia               Male        163. 
202 North Macedonia       Male        163. 
203 Brazil                Female      163. 
204 Bulgaria              Male        163. 
205 Cambodia              Male        163. 
206 Cambodia              Female      163. 
207 Japan                 Male        164. 
208 Guatemala             Female      164. 
209 Paraguay              Female      164. 
210 Paraguay              Male        164. 
211 Colombia              Male        164. 
212 Cambodia              Male        164. 
213 Guatemala             Female      164. 
214 Israel                Male        164. 
215 Romania               Male        164. 
216 Cambodia              Male        164. 
217 Paraguay              Male        164. 
218 Albania               Male        165. 
219 Guatemala             Male        165. 
220 Cambodia              Female      165. 
221 Georgia               Male        165. 
222 United Arab Emirates  Male        165. 
223 Cambodia              Male        165. 
224 Guatemala             Male        166. 
225 Cambodia              Male        166. 
226 Serbia                Female      166. 
227 Paraguay              Male        166. 
228 Baku (Azerbaijan)     Male        166. 
229 United Arab Emirates  Male        166. 
230 Cambodia              Male        167. 
231 Guatemala             Male        167. 
232 Paraguay              Female      167. 
233 Albania               Male        167. 
234 Slovak Republic       Female      167. 
235 Paraguay              Female      167. 
236 Albania               Male        167. 
237 Guatemala             Female      167. 
238 Guatemala             Female      167. 
239 Cambodia              Female      167. 
240 Paraguay              Female      168. 
241 Cambodia              Male        168. 
242 Albania               Male        168. 
243 Paraguay              Female      168. 
244 Bulgaria              Male        168. 
245 Guatemala             Male        168. 
246 Cambodia              Male        168. 
247 Paraguay              Female      168. 
248 Albania               Male        168. 
249 Bulgaria              Male        168. 
250 Cambodia              Female      168. 
251 Cambodia              Male        168. 
252 Paraguay              Female      168. 
253 Uruguay               Male        168. 
254 Israel                Female      168. 
255 Albania               Female      168. 
256 Guatemala             Female      169. 
257 United Arab Emirates  Male        169. 
258 Bulgaria              Male        169. 
259 Brazil                Male        169. 
260 Paraguay              Female      169. 
261 Spain                 Female      169. 
262 Baku (Azerbaijan)     Male        169. 
263 Paraguay              Female      169. 
264 Paraguay              Female      169. 
265 Cambodia              Female      169. 
266 Paraguay              Male        169. 
267 Palestinian Authority Female      169. 
268 United Arab Emirates  Female      169. 
269 Paraguay              Female      169. 
270 Paraguay              Male        170. 
271 Paraguay              Female      170. 
272 Cambodia              Male        170. 
273 Sweden                Male        170. 
274 Bulgaria              Male        170. 
275 Uruguay               Female      170. 
276 Guatemala             Female      170. 
277 Baku (Azerbaijan)     Female      170. 
278 Slovak Republic       Male        170. 
279 Romania               Male        170. 
280 United Arab Emirates  Female      170. 
281 Guatemala             Male        170. 
282 Romania               Male        170. 
283 Baku (Azerbaijan)     Female      170. 
284 Slovak Republic       Male        170. 
285 United Arab Emirates  Female      170. 
286 Baku (Azerbaijan)     Female      170. 
287 Palestinian Authority Male        171. 
288 Sweden                Male        171. 
289 Palestinian Authority Female      171. 
290 Paraguay              Female      171. 
291 Paraguay              Female      171. 
292 Albania               Female      171. 
293 Albania               Female      171. 
294 Uzbekistan            Male        171. 
295 United Arab Emirates  Male        171. 
296 Argentina             Female      171. 
297 Philippines           Male        171. 
298 Serbia                Male        171. 
299 Cambodia              Female      171. 
300 Guatemala             Female      171. 
301 Bulgaria              Male        171. 
302 Jordan                Male        171. 
303 Uzbekistan            Female      171. 
304 Cambodia              Male        172. 
305 United Arab Emirates  Male        172. 
306 Paraguay              Female      172. 
307 Albania               Female      172. 
308 Palestinian Authority Female      172. 
309 Paraguay              Female      172. 
310 Albania               Male        172. 
311 Cambodia              Female      172. 
312 Argentina             Male        172. 
313 Cambodia              Female      172. 
314 Cambodia              Female      173. 
315 Jordan                Female      173. 
316 Cambodia              Male        173. 
317 Cambodia              Male        173. 
318 Mexico                Female      173. 
319 Israel                Male        173. 
320 Cambodia              Male        173. 
321 Sweden                Male        173. 
322 Guatemala             Male        173. 
323 Israel                Female      173. 
324 Philippines           Male        173. 
325 Paraguay              Male        173. 
326 Kosovo                Male        173. 
327 Albania               Female      173. 
328 Türkiye               Male        173. 
329 Serbia                Male        174. 
330 Guatemala             Female      174. 
331 Uzbekistan            Female      174. 
332 Albania               Male        174. 
333 Albania               Male        174. 
334 Guatemala             Male        174. 
335 United Arab Emirates  Female      174. 
336 Cambodia              Male        174. 
337 Republic of Moldova   Female      174. 
338 Uzbekistan            Female      174. 
339 Cambodia              Female      174. 
340 Cambodia              Female      174. 
341 Kosovo                Female      174. 
342 Paraguay              Female      174. 
343 Paraguay              Female      174. 
344 Cambodia              Male        175. 
345 Georgia               Male        175. 
346 Bulgaria              Male        175. 
347 Guatemala             Female      175. 
348 Argentina             Female      175. 
349 Cambodia              Female      175. 
350 Guatemala             Female      175. 
351 Albania               Male        175. 
352 Canada                Male        175. 
353 Guatemala             Female      175. 
354 Cambodia              Female      175. 
355 Paraguay              Male        175. 
356 Cambodia              Female      175. 
357 Guatemala             Female      175. 
358 Israel                Male        175. 
359 Albania               Male        175. 
360 Mexico                Female      176. 
361 Paraguay              Female      176. 
362 Cambodia              Female      176. 
363 Georgia               Male        176. 
364 Montenegro            Male        176. 
365 North Macedonia       Female      176. 
366 Cambodia              Female      176. 
367 El Salvador           Male        176. 
368 Palestinian Authority Male        176. 
369 Mongolia              Female      176. 
370 Kosovo                Male        176. 
371 Paraguay              Female      176. 
372 Paraguay              Female      176. 
373 Albania               Male        176. 
374 Uruguay               Female      176. 
375 Cambodia              Male        176. 
376 Palestinian Authority Male        176. 
377 Paraguay              Female      176. 
378 Baku (Azerbaijan)     Male        176. 
379 Paraguay              Female      176. 
380 Cambodia              Female      176. 
381 United Arab Emirates  Male        176. 
382 Cambodia              Male        177. 
383 Georgia               Male        177. 
384 Baku (Azerbaijan)     Female      177. 
385 El Salvador           Male        177. 
386 Georgia               Male        177. 
387 Georgia               Male        177. 
388 Cambodia              Male        177. 
389 Cambodia              Female      177. 
390 Cambodia              Male        177. 
391 Bulgaria              Male        177. 
392 Cambodia              Male        177. 
393 Jordan                Female      177. 
394 Panama                Female      177. 
395 Brazil                Female      177. 
396 Georgia               Female      177. 
397 Cambodia              Male        177. 
398 United Arab Emirates  Male        177. 
399 Palestinian Authority Female      178. 
400 Palestinian Authority Male        178. 
401 Baku (Azerbaijan)     Male        178. 
402 Cambodia              Female      178. 
403 Mexico                Male        178. 
404 Slovak Republic       Female      178. 
405 Cambodia              Male        178. 
406 Albania               Male        178. 
407 Guatemala             Male        178. 
408 Paraguay              Female      178. 
409 Albania               Female      178. 
410 Peru                  Male        178. 
411 Argentina             Male        178. 
412 Cambodia              Female      178. 
413 Germany               Female      178. 
414 Guatemala             Female      178. 
415 Cambodia              Male        178. 
416 Guatemala             Female      178. 
417 Brazil                Female      178. 
418 Chile                 Female      178. 
419 Romania               Female      178. 
420 Slovak Republic       Female      179. 
421 Albania               Male        179. 
422 Paraguay              Female      179. 
423 Jordan                Male        179. 
424 Guatemala             Male        179. 
425 Israel                Male        179. 
426 Peru                  Female      179. 
427 United Arab Emirates  Female      179. 
428 Brazil                Male        179. 
429 Thailand              Female      179. 
430 Uzbekistan            Female      179. 
431 Palestinian Authority Female      179. 
432 North Macedonia       Male        179. 
433 United Arab Emirates  Male        179. 
434 Argentina             Male        179. 
435 Bulgaria              Female      179. 
436 Slovak Republic       Male        179. 
437 Cambodia              Male        179. 
438 Jordan                Female      179. 
439 Georgia               Female      179. 
440 Albania               Male        179. 
441 Philippines           Male        180. 
442 Albania               Female      180. 
443 United Arab Emirates  Male        180. 
444 United Arab Emirates  Male        180. 
445 Colombia              Male        180. 
446 Paraguay              Female      180. 
447 Paraguay              Male        180. 
448 United Arab Emirates  Male        180. 
449 Guatemala             Female      180. 
450 Slovak Republic       Female      180. 
451 Guatemala             Male        180. 
452 Albania               Female      180. 
453 Kosovo                Male        180. 
454 United Arab Emirates  Female      180. 
455 Jordan                Male        180. 
456 United Arab Emirates  Female      180. 
457 Türkiye               Female      180. 
458 Paraguay              Female      180. 
459 Peru                  Female      180. 
460 Morocco               Male        180. 
461 United Arab Emirates  Male        180. 
462 Cambodia              Male        180. 
463 Brazil                Female      181. 
464 Canada                Female      181. 
465 Baku (Azerbaijan)     Female      181. 
466 Georgia               Female      181. 
467 Baku (Azerbaijan)     Female      181. 
468 North Macedonia       Male        181. 
469 Uzbekistan            Male        181. 
470 Cambodia              Female      181. 
471 Albania               Male        181. 
472 Kazakhstan            Male        181. 
473 Guatemala             Female      181. 
474 Finland               Male        181. 
475 Baku (Azerbaijan)     Female      181. 
476 Paraguay              Female      181. 
477 Republic of Moldova   Male        181. 
478 Mongolia              Male        181. 
479 Baku (Azerbaijan)     Male        181. 
480 Guatemala             Female      181. 
481 Cambodia              Male        181. 
482 Montenegro            Male        181. 
483 Cambodia              Male        181. 
484 Jordan                Female      181. 
485 Cambodia              Male        181. 
486 Argentina             Male        181. 
487 Saudi Arabia          Male        181. 
488 Philippines           Male        181. 
489 Paraguay              Male        182. 
490 Cambodia              Male        182. 
491 Cambodia              Male        182. 
492 Georgia               Female      182. 
493 Indonesia             Female      182. 
494 Israel                Female      182. 
495 Paraguay              Male        182. 
496 Albania               Male        182. 
497 Jordan                Male        182. 
498 Paraguay              Female      182. 
499 Paraguay              Female      182. 
500 Albania               Female      182. 
# ℹ 613,244 more rows

If we’re interested in the highest achieving students we can add the desc() function to arrange:

PISA_2022 %>%
  select(CNT, LANGN, ST004D01T, PV1MATH) %>%
  arrange(desc(PV1MATH))
# A tibble: 613,744 × 4
    CNT                  LANGN                               ST004D01T PV1MATH
    <fct>                <fct>                               <fct>       <dbl>
  1 Singapore            Invalid                             Male         943.
  2 Chinese Taipei       Mandarin                            Male         917.
  3 Singapore            Invalid                             Male         897.
  4 Korea                Korean                              Male         893.
  5 Korea                Korean                              Female       889.
  6 Chinese Taipei       Mandarin                            Male         887.
  7 Singapore            Invalid                             Male         883.
  8 Hong Kong (China)    Cantonese                           Male         880.
  9 Korea                Korean                              Male         868.
 10 Singapore            Invalid                             Male         867.
 11 Hong Kong (China)    Cantonese                           Male         867.
 12 Korea                Korean                              Male         867.
 13 Chinese Taipei       Mandarin                            Male         861.
 14 Hong Kong (China)    Cantonese                           Male         861.
 15 Macao (China)        Cantonese                           Male         858.
 16 Chinese Taipei       Mandarin                            Male         858.
 17 Singapore            Invalid                             Male         856.
 18 Chinese Taipei       Mandarin                            Male         855.
 19 Korea                Korean                              Female       854.
 20 United Kingdom       English                             Female       853.
 21 Canada               Another language (CAN)              Male         851.
 22 United Kingdom       English                             Male         850.
 23 Korea                Korean                              Male         850.
 24 Hong Kong (China)    Cantonese                           Female       849.
 25 Chinese Taipei       Mandarin                            Male         847.
 26 United Kingdom       Another language (QUK)              Female       843.
 27 Canada               French                              Male         842.
 28 Singapore            Invalid                             Male         842.
 29 Singapore            Invalid                             Male         842.
 30 Chinese Taipei       Mandarin                            Male         841.
 31 Chinese Taipei       Mandarin                            Male         841.
 32 Singapore            Invalid                             Male         841.
 33 Chinese Taipei       Mandarin                            Male         840.
 34 Hong Kong (China)    Cantonese                           Male         839.
 35 United Kingdom       Another language (QUK)              Female       838.
 36 Chinese Taipei       Mandarin                            Male         838.
 37 Hong Kong (China)    Mandarin                            Female       837.
 38 Singapore            Invalid                             Male         836.
 39 Canada               Another language (CAN)              Female       834.
 40 Singapore            Invalid                             Female       833.
 41 Chinese Taipei       Mandarin                            Male         833.
 42 Singapore            Invalid                             Male         833.
 43 United Arab Emirates English                             Male         832.
 44 Belgium              Dutch                               Male         832.
 45 Korea                Korean                              Male         830.
 46 United Arab Emirates English                             Male         830.
 47 Hong Kong (China)    Cantonese                           Female       829.
 48 Singapore            Invalid                             Female       829.
 49 Singapore            Invalid                             Female       829.
 50 Canada               English                             Male         829.
 51 Chinese Taipei       Mandarin                            Male         828.
 52 Singapore            Invalid                             Male         828.
 53 Hong Kong (China)    Cantonese                           Male         827.
 54 Singapore            Invalid                             Male         827.
 55 New Zealand          Chinese                             Male         825.
 56 United Kingdom       English                             Male         825.
 57 Singapore            Invalid                             Male         825.
 58 Korea                Korean                              Male         824.
 59 Switzerland          Another language (CHE)              Male         824.
 60 Hong Kong (China)    Cantonese                           Male         824.
 61 Hong Kong (China)    Cantonese                           Male         824.
 62 United Arab Emirates English                             Male         823.
 63 Singapore            Invalid                             Male         823.
 64 Singapore            Invalid                             Male         822.
 65 Chinese Taipei       Mandarin                            Female       822.
 66 Australia            English                             Male         821.
 67 Korea                Korean                              Male         821.
 68 Singapore            Invalid                             Female       821.
 69 Chinese Taipei       Mandarin                            Male         820.
 70 Singapore            Invalid                             Male         820.
 71 Hong Kong (China)    Cantonese                           Male         820.
 72 Singapore            Invalid                             Male         820.
 73 Korea                Korean                              Male         820.
 74 United States        English                             Male         820.
 75 Macao (China)        Cantonese                           Male         819.
 76 Chinese Taipei       Mandarin                            Male         819.
 77 Singapore            Invalid                             Male         819.
 78 Chinese Taipei       Mandarin                            Male         818.
 79 Hong Kong (China)    Cantonese                           Male         818.
 80 Singapore            Invalid                             Female       817.
 81 Singapore            Invalid                             Male         817.
 82 Singapore            Invalid                             Female       816.
 83 United Kingdom       English                             Male         816.
 84 Hong Kong (China)    Mandarin                            Female       815.
 85 Korea                Korean                              Female       815.
 86 Korea                Korean                              Male         815.
 87 Singapore            Invalid                             Male         814.
 88 Korea                Korean                              Male         814.
 89 Australia            Cantonese                           Male         814.
 90 Singapore            Invalid                             Male         813.
 91 Chinese Taipei       Mandarin                            Male         812.
 92 Singapore            Invalid                             Female       812.
 93 Korea                Korean                              Female       812.
 94 United Arab Emirates English                             Male         812.
 95 Singapore            Invalid                             Female       812.
 96 Switzerland          Swiss German                        Female       811.
 97 Chinese Taipei       Mandarin                            Male         811.
 98 Singapore            Invalid                             Male         811.
 99 Singapore            Invalid                             Female       811.
100 Macao (China)        Cantonese                           Male         811.
101 Hong Kong (China)    Cantonese                           Female       811.
102 Singapore            Invalid                             Male         811.
103 United Arab Emirates Another language (ARE)              Male         811.
104 Singapore            Invalid                             Female       810.
105 Singapore            Invalid                             Male         810.
106 Hong Kong (China)    Cantonese                           Male         809.
107 Singapore            Invalid                             Male         809.
108 Korea                Korean                              Male         809.
109 Chinese Taipei       Mandarin                            Male         808.
110 Australia            English                             Male         808.
111 Japan                Japanese                            Female       808.
112 Belgium              Dutch                               Female       808.
113 Chinese Taipei       Mandarin                            Female       807.
114 Japan                Japanese                            Female       807.
115 Singapore            Invalid                             Female       807.
116 Canada               English                             Male         807.
117 Australia            English                             Male         807.
118 Singapore            Invalid                             Male         806.
119 Hong Kong (China)    Mandarin                            Male         806.
120 Belgium              Dutch                               Female       806.
121 Hong Kong (China)    Cantonese                           Female       806.
122 Korea                Korean                              Female       805.
123 Netherlands          Dutch                               Male         805.
124 Hong Kong (China)    Cantonese                           Male         805.
125 Chinese Taipei       Mandarin                            Male         805.
126 Korea                Korean                              Male         805.
127 United Arab Emirates English                             Female       805.
128 Singapore            Invalid                             Male         805.
129 Singapore            Invalid                             Male         805.
130 Israel               Hebrew                              Male         805.
131 Korea                Korean                              Male         804.
132 United Kingdom       English                             Male         803.
133 Chinese Taipei       Mandarin                            Male         803.
134 Hong Kong (China)    Cantonese                           Male         803.
135 Chinese Taipei       Mandarin                            Male         803.
136 Singapore            Invalid                             Male         803.
137 Estonia              Estonian                            Male         802.
138 Croatia              Croatian                            Male         802.
139 Lithuania            Lithuanian                          Male         802.
140 Chinese Taipei       Mandarin                            Male         802.
141 Norway               Norwegian                           Male         802.
142 Chinese Taipei       Mandarin                            Male         802.
143 Singapore            Invalid                             Male         802.
144 Korea                Korean                              Female       801.
145 Singapore            Invalid                             Female       801.
146 Macao (China)        Mandarin                            Male         801.
147 Switzerland          French                              Male         801.
148 Korea                Korean                              Male         801.
149 Singapore            Invalid                             Male         801.
150 Chinese Taipei       Mandarin                            Male         800.
151 Singapore            Invalid                             Male         800.
152 Chinese Taipei       Mandarin                            Female       800.
153 Chinese Taipei       Mandarin                            Male         800.
154 Korea                Korean                              Male         799.
155 New Zealand          English                             Male         799.
156 Korea                Korean                              Male         799.
157 Poland               Polish                              Male         799.
158 Australia            Another language (AUS)              Male         799.
159 Korea                Korean                              Female       799.
160 Germany              German                              Male         799.
161 Chinese Taipei       Mandarin                            Male         799.
162 Chinese Taipei       Mandarin                            Male         799.
163 Chinese Taipei       Mandarin                            Female       798.
164 Macao (China)        Cantonese                           Male         798.
165 Chinese Taipei       Mandarin                            Female       798.
166 Singapore            Invalid                             Female       798.
167 Singapore            Invalid                             Female       798.
168 Singapore            Invalid                             Female       798.
169 Korea                Korean                              Male         798.
170 Singapore            Invalid                             Male         798.
171 Chinese Taipei       Mandarin                            Female       798.
172 United Arab Emirates English                             Male         798.
173 Korea                Korean                              Female       797.
174 Singapore            Invalid                             Male         797.
175 Hong Kong (China)    Cantonese                           Male         797.
176 Netherlands          Dutch                               Male         797.
177 Australia            English                             Female       797.
178 Singapore            Invalid                             Female       797.
179 Slovenia             Slovenian                           Male         796.
180 Korea                Korean                              Male         796.
181 Hong Kong (China)    Cantonese                           Male         796.
182 Korea                Korean                              Male         796.
183 Czech Republic       Czech                               Male         796.
184 Singapore            Invalid                             Male         796.
185 Singapore            Invalid                             Male         796.
186 Korea                Korean                              Male         795.
187 Macao (China)        Cantonese                           Male         795.
188 Canada               English                             Male         795.
189 Japan                Japanese                            Female       795.
190 Korea                Korean                              Male         795.
191 Australia            Another language (AUS)              Female       795.
192 Korea                Korean                              Female       795.
193 Singapore            Invalid                             Male         795.
194 Chinese Taipei       Mandarin                            Male         794.
195 Macao (China)        Cantonese                           Female       794.
196 Korea                Korean                              Male         794.
197 Singapore            Invalid                             Male         794.
198 Germany              German                              Male         794.
199 Singapore            Invalid                             Male         794.
200 Chinese Taipei       Mandarin                            Male         794.
201 Belgium              Dutch                               Male         794.
202 Macao (China)        Cantonese                           Male         793.
203 Singapore            Invalid                             Female       793.
204 Singapore            Invalid                             Male         793.
205 Korea                Korean                              Male         793.
206 Singapore            Invalid                             Male         793.
207 United Arab Emirates Another language (ARE)              Male         793.
208 Singapore            Invalid                             Female       793.
209 Macao (China)        Cantonese                           Male         792.
210 Israel               Hebrew                              Male         792.
211 Hong Kong (China)    Cantonese                           Female       792.
212 Singapore            Invalid                             Female       792.
213 Singapore            Invalid                             Male         792.
214 Singapore            Invalid                             Male         792.
215 Israel               Hebrew                              Male         791.
216 Macao (China)        Cantonese                           Male         791.
217 Hong Kong (China)    Cantonese                           Male         791.
218 Singapore            Invalid                             Female       791.
219 Hong Kong (China)    Cantonese                           Female       791.
220 New Zealand          Chinese                             Male         791.
221 Hong Kong (China)    Cantonese                           Female       791.
222 United Kingdom       English                             Male         791.
223 Singapore            Invalid                             Female       791.
224 Denmark              Danish                              Male         791.
225 Thailand             Thai                                Male         791.
226 Hong Kong (China)    Cantonese                           Male         791.
227 Singapore            Invalid                             Female       791.
228 Hong Kong (China)    Cantonese                           Female       791.
229 Japan                Japanese                            Male         790.
230 Singapore            Invalid                             Male         790.
231 Hong Kong (China)    Cantonese                           Male         790.
232 United Arab Emirates Arabic                              Male         790.
233 Hong Kong (China)    Missing                             Male         790.
234 Canada               English                             Male         790.
235 Singapore            Invalid                             Female       789.
236 Korea                Korean                              Male         789.
237 Bulgaria             Bulgarian                           Male         789.
238 Singapore            Invalid                             Male         789.
239 Hong Kong (China)    Cantonese                           Female       789.
240 Singapore            Invalid                             Female       789.
241 Korea                Korean                              Female       788.
242 Canada               Another language (CAN)              Male         788.
243 Belgium              Flemish dialect (BEL)               Male         788.
244 Czech Republic       Czech                               Female       788.
245 Hong Kong (China)    Cantonese                           Male         788.
246 Korea                Korean                              Male         788.
247 Singapore            Invalid                             Female       788.
248 Singapore            Invalid                             Male         788.
249 Singapore            Invalid                             Female       788.
250 Japan                Japanese                            Female       788.
251 Singapore            Invalid                             Male         788.
252 Sweden               Swedish                             Male         788.
253 Macao (China)        Chinese dialects or languages (MAC) Female       788.
254 Korea                Korean                              Female       788.
255 Canada               English                             Male         787.
256 Hong Kong (China)    Cantonese                           Male         787.
257 Korea                Korean                              Male         787.
258 Singapore            Invalid                             Male         787.
259 Spain                Spanish                             Male         787.
260 Switzerland          Swiss German                        Male         787.
261 Chinese Taipei       Mandarin                            Male         787.
262 Korea                Korean                              Male         787.
263 Chinese Taipei       Mandarin                            Male         786.
264 Singapore            Invalid                             Male         786.
265 Singapore            Invalid                             Male         786.
266 Singapore            Invalid                             Male         786.
267 Macao (China)        Mandarin                            Male         786.
268 Canada               English                             Male         786.
269 Singapore            Invalid                             Female       786.
270 Hungary              Hungarian                           Male         786.
271 Switzerland          French                              Female       785.
272 Chinese Taipei       Mandarin                            Male         785.
273 Singapore            Invalid                             Male         785.
274 Chinese Taipei       Mandarin                            Female       785.
275 Chinese Taipei       Mandarin                            Male         785.
276 Austria              German                              Female       785.
277 Singapore            Invalid                             Male         785.
278 Singapore            Invalid                             Male         785.
279 Singapore            Invalid                             Female       785.
280 Macao (China)        Mandarin                            Male         785.
281 United Kingdom       English                             Male         785.
282 Chinese Taipei       Mandarin                            Male         785.
283 Canada               English                             Male         785.
284 Singapore            Invalid                             Male         785.
285 Hong Kong (China)    Cantonese                           Female       784.
286 Serbia               Serbian                             Male         784.
287 Singapore            Invalid                             Female       784.
288 Korea                Korean                              Male         784.
289 Viet Nam             Vietnamese                          Female       784.
290 Singapore            Invalid                             Female       784.
291 Singapore            Invalid                             Male         784.
292 Estonia              Estonian                            Male         784.
293 Hong Kong (China)    Cantonese                           Female       784.
294 Korea                Korean                              Male         784.
295 Singapore            Invalid                             Male         784.
296 Chinese Taipei       Mandarin                            Female       783.
297 Chinese Taipei       Mandarin                            Female       783.
298 Chinese Taipei       Mandarin                            Male         783.
299 Lithuania            Lithuanian                          Male         783.
300 Estonia              Estonian                            Male         783.
301 Netherlands          Dutch                               Male         783.
302 Singapore            Invalid                             Male         782.
303 Korea                Korean                              Male         782.
304 Macao (China)        Mandarin                            Male         782.
305 Australia            Mandarin                            Male         782.
306 Macao (China)        Cantonese                           Male         782.
307 Singapore            Invalid                             Male         782.
308 Singapore            Invalid                             Male         782.
309 Singapore            Invalid                             Male         782.
310 Austria              German                              Male         782.
311 Chinese Taipei       Mandarin                            Male         781.
312 Korea                Korean                              Female       781.
313 Macao (China)        Cantonese                           Male         781.
314 Switzerland          Italian                             Male         781.
315 Singapore            Invalid                             Male         781.
316 Belgium              Dutch                               Male         781.
317 Canada               Another language (CAN)              Male         781.
318 Macao (China)        Cantonese                           Male         781.
319 Singapore            Invalid                             Male         781.
320 Hong Kong (China)    Cantonese                           Male         781.
321 Singapore            Invalid                             Female       781.
322 United Kingdom       Another language (QUK)              Female       781.
323 Singapore            Invalid                             Female       781.
324 Korea                Korean                              Female       781.
325 Macao (China)        Mandarin                            Male         781.
326 Sweden               Swedish                             Female       781.
327 Singapore            Invalid                             Female       781.
328 Czech Republic       Czech                               Male         781.
329 Czech Republic       Czech                               Female       781.
330 Australia            English                             Male         781.
331 Denmark              Danish                              Male         781.
332 Hong Kong (China)    Cantonese                           Male         781.
333 Australia            English                             Female       781.
334 United Arab Emirates English                             Male         781.
335 Singapore            Invalid                             Male         780.
336 Korea                Korean                              Male         780.
337 Canada               English                             Male         780.
338 Korea                Korean                              Male         780.
339 Chinese Taipei       Mandarin                            Female       780.
340 New Zealand          Another language (NZL)              Male         780.
341 Macao (China)        Cantonese                           Male         780.
342 Chinese Taipei       Mandarin                            Male         780.
343 United Kingdom       English                             Male         780.
344 Canada               Another language (CAN)              Male         780.
345 Chinese Taipei       Mandarin                            Male         780.
346 Hong Kong (China)    Cantonese                           Male         779.
347 Japan                Japanese                            Male         779.
348 Korea                Korean                              Male         779.
349 Macao (China)        Cantonese                           Male         779.
350 Singapore            Invalid                             Male         779.
351 Estonia              Estonian                            Male         779.
352 Spain                Spanish                             Male         779.
353 Australia            English                             Female       779.
354 Singapore            Invalid                             Male         779.
355 Hong Kong (China)    Cantonese                           Female       779.
356 Chinese Taipei       Mandarin                            Male         779.
357 Belgium              Dutch                               Male         779.
358 Thailand             Thai                                Male         778.
359 Korea                Korean                              Male         778.
360 Chinese Taipei       Mandarin                            Female       778.
361 Thailand             Thai                                Male         778.
362 Chinese Taipei       Mandarin                            Male         778.
363 Hong Kong (China)    Cantonese                           Male         778.
364 Australia            English                             Male         778.
365 Singapore            Invalid                             Male         778.
366 Korea                Korean                              Female       778.
367 Netherlands          Dutch                               Male         778.
368 Korea                Korean                              Female       777.
369 Macao (China)        Cantonese                           Female       777.
370 Hong Kong (China)    Cantonese                           Male         777.
371 Australia            English                             Female       777.
372 Macao (China)        Cantonese                           Male         777.
373 Singapore            Invalid                             Female       777.
374 Singapore            Invalid                             Male         777.
375 Hong Kong (China)    Cantonese                           Male         777.
376 Hong Kong (China)    Cantonese                           Male         777.
377 Hong Kong (China)    Cantonese                           Male         777.
378 Macao (China)        Cantonese                           Female       777.
379 Poland               Polish                              Male         777.
380 Chinese Taipei       Mandarin                            Male         777.
381 Singapore            Invalid                             Male         777.
382 Australia            English                             Female       776.
383 Switzerland          German                              Male         776.
384 Singapore            Invalid                             Male         776.
385 Thailand             Thai                                Female       776.
386 Canada               Another language (CAN)              Female       776.
387 Macao (China)        Cantonese                           Male         776.
388 Czech Republic       Czech                               Male         776.
389 Singapore            Invalid                             Male         776.
390 Macao (China)        Mandarin                            Female       776.
391 Macao (China)        Cantonese                           Male         776.
392 Belgium              Dutch                               Male         776.
393 New Zealand          English                             Male         775.
394 Hong Kong (China)    Cantonese                           Male         775.
395 Japan                Japanese                            Male         775.
396 United States        English                             Male         775.
397 Singapore            Invalid                             Male         775.
398 Singapore            Invalid                             Male         775.
399 Singapore            Invalid                             Female       775.
400 Switzerland          Swiss German                        Male         775.
401 Hong Kong (China)    Cantonese                           Male         775.
402 United Kingdom       Another language (QUK)              Female       774.
403 Korea                Korean                              Female       774.
404 Korea                Korean                              Female       774.
405 Chinese Taipei       Mandarin                            Female       774.
406 Switzerland          Swiss German                        Male         774.
407 Chinese Taipei       Mandarin                            Female       774.
408 Canada               English                             Male         774.
409 Denmark              Danish                              Male         774.
410 Hong Kong (China)    Cantonese                           Male         774.
411 Singapore            Invalid                             Male         774.
412 Macao (China)        Chinese dialects or languages (MAC) Female       774.
413 Hong Kong (China)    Cantonese                           Male         774.
414 Korea                Korean                              Male         773.
415 Macao (China)        Cantonese                           Female       773.
416 Switzerland          Swiss German                        Male         773.
417 Singapore            Invalid                             Male         773.
418 Lithuania            Lithuanian                          Female       773.
419 Korea                Korean                              Male         773.
420 Chinese Taipei       Mandarin                            Male         773.
421 Serbia               Serbian                             Male         773.
422 United States        English                             Male         773.
423 Hong Kong (China)    Cantonese                           Male         773.
424 Hong Kong (China)    Cantonese                           Male         773.
425 Spain                Spanish                             Male         773.
426 New Zealand          English                             Female       773.
427 Korea                Korean                              Female       772.
428 Slovak Republic      Slovak                              Male         772.
429 Chinese Taipei       Mandarin                            Male         772.
430 Switzerland          French                              Male         772.
431 Australia            English                             Male         772.
432 Chinese Taipei       Mandarin                            Male         772.
433 Japan                Japanese                            Female       772.
434 Hong Kong (China)    Cantonese                           Female       772.
435 Chinese Taipei       Mandarin                            Female       772.
436 Chinese Taipei       Mandarin                            Male         772.
437 United Arab Emirates English                             Male         772.
438 Singapore            Invalid                             Female       772.
439 Singapore            Invalid                             Male         772.
440 Korea                Korean                              Male         772.
441 Israel               Hebrew                              Male         772.
442 Singapore            Invalid                             Male         772.
443 Chinese Taipei       Mandarin                            Male         771.
444 Chinese Taipei       Mandarin                            Male         771.
445 United Kingdom       English                             Female       771.
446 Singapore            Invalid                             Male         771.
447 Korea                Korean                              Male         771.
448 Australia            Another language (AUS)              Female       771.
449 Canada               Another language (CAN)              Female       771.
450 Hong Kong (China)    Cantonese                           Female       771.
451 Czech Republic       Czech                               Male         771.
452 Israel               Hebrew                              Male         771.
453 Hong Kong (China)    Cantonese                           Male         771.
454 Korea                Korean                              Male         771.
455 Singapore            Invalid                             Female       771.
456 Hong Kong (China)    Cantonese                           Female       771.
457 Canada               French                              Male         771.
458 Japan                Japanese                            Male         770.
459 Chinese Taipei       Mandarin                            Male         770.
460 Hong Kong (China)    Cantonese                           Male         770.
461 Poland               Polish                              Male         770.
462 Korea                Korean                              Female       770.
463 Thailand             Thai                                Female       770.
464 Czech Republic       Czech                               Male         770.
465 Chinese Taipei       Mandarin                            Male         770.
466 New Zealand          Korean                              Male         770.
467 Singapore            Invalid                             Male         770.
468 Australia            Mandarin                            Male         770.
469 Singapore            Invalid                             Female       770.
470 Chinese Taipei       Mandarin                            Female       770.
471 Belgium              Dutch                               Male         770.
472 Hong Kong (China)    Cantonese                           Female       770.
473 Canada               English                             Male         770.
474 Türkiye              Turkish                             Male         770.
475 United Kingdom       Another language (QUK)              Female       770.
476 Japan                Japanese                            Male         770.
477 Chinese Taipei       Mandarin                            Male         770.
478 Switzerland          Italian                             Female       769.
479 United Kingdom       English                             Male         769.
480 Korea                Korean                              Male         769.
481 Singapore            Invalid                             Male         769.
482 Macao (China)        Chinese dialects or languages (MAC) Male         769.
483 Singapore            Invalid                             Female       769.
484 Chinese Taipei       Mandarin                            Female       769.
485 Estonia              Estonian                            Female       769.
486 United States        Another language (USA)              Male         769.
487 Korea                Korean                              Female       769.
488 Lithuania            Lithuanian                          Female       769.
489 Japan                Japanese                            Male         769.
490 Estonia              Estonian                            Male         769.
491 Hong Kong (China)    Chinese dialects or languages (HKG) Male         769.
492 Australia            English                             Male         769.
493 Chinese Taipei       Mandarin                            Male         768.
494 Singapore            Invalid                             Male         768.
495 Estonia              Estonian                            Male         768.
496 Korea                Korean                              Male         768.
497 Singapore            Invalid                             Female       768.
498 Israel               Hebrew                              Male         768.
499 Korea                Korean                              Male         768.
500 Singapore            Invalid                             Male         768.
# ℹ 613,244 more rows

7 Bring everyting together

We know that the evidence strongly indicates that repeating a year is not good for student progress, but how do countries around the world differ in terms of the percentage of their students who repeat a year?

1data_repeat <- PISA_2022 %>%
2  filter(!is.na(REPEAT)) %>%
3  group_by(CNT) %>%
4  mutate(total = n()) %>%
5  select(CNT, REPEAT, total) %>%
6  group_by(CNT, REPEAT) %>%
7  summarise(student_n = n(),
8            total = unique(total),
9            per = student_n / unique(total)) %>%
10  filter(REPEAT == "Repeated at lease once") %>%
11  arrange(desc(per))

print(data_repeat)                                  

12write_csv(data_repeat, "<folder_location>/repeat_a_year.csv")
1
uses the PISA_2022 dataframe, note that this line includes <- to store the result opf the piping into a new object called data_repeat
2
filter out any NA values in the REPEAT field
3
group on the country of student CNT
4
create a new column total for total number of rows n() in each country CNT grouping
5
select on the CNT, REPEAT and total columns
6
regroup the data on country CNT and whether a student has repeated a year REPEAT, i.e. Albania+Did not repeat a grade; Albania+Repeated a grade; etc.
7
using the above grouping, count the number of rows in each group n() and assign this to student_n
8
for each grouping keep the total number of students in each country, as calculated on line 4. Note: unique(total) is needed here to return a single value of total, rather than a value for each student in each country
9
using student_n from line 7 and the number of students per country total, from line 4, create a percentage per for each grouping
10
as we have percentages for both Repeated at lease once and Never repeated, we only need to display one of these.
11
finally, we sort the data on the per/percentage column, to show the countries with the highest level of repeating a grade. This data is self-recorded by students, so might not be totally reliable!
12
save the data to your own folder as a csv
# A tibble: 78 × 5
# Groups:   CNT [78]
   CNT                          REPEAT                 student_n total     per
   <fct>                        <fct>                      <int> <int>   <dbl>
 1 Morocco                      Repeated at lease once      3156  6796 0.464  
 2 Colombia                     Repeated at lease once      2783  7401 0.376  
 3 Cambodia                     Repeated at lease once      1697  5156 0.329  
 4 Guatemala                    Repeated at lease once      1382  5110 0.270  
 5 Panama                       Repeated at lease once      1050  4080 0.257  
 6 Philippines                  Repeated at lease once      1793  7071 0.254  
 7 Dominican Republic           Repeated at lease once      1603  6566 0.244  
 8 Belgium                      Repeated at lease once      1941  8055 0.241  
 9 Jamaica                      Repeated at lease once       851  3600 0.236  
10 Netherlands                  Repeated at lease once      1118  4858 0.230  
11 Uruguay                      Repeated at lease once      1469  6463 0.227  
12 Macao (China)                Repeated at lease once       953  4380 0.218  
13 Brazil                       Repeated at lease once      2135 10121 0.211  
14 Costa Rica                   Repeated at lease once      1146  5965 0.192  
15 Spain                        Repeated at lease once      5642 29775 0.189  
16 Germany                      Repeated at lease once      1021  5437 0.188  
17 El Salvador                  Repeated at lease once      1193  6461 0.185  
18 Qatar                        Repeated at lease once      1213  6940 0.175  
19 Paraguay                     Repeated at lease once       783  4943 0.158  
20 Portugal                     Repeated at lease once      1037  6672 0.155  
21 Austria                      Repeated at lease once       827  6047 0.137  
22 Chile                        Repeated at lease once       813  6174 0.132  
23 Switzerland                  Repeated at lease once       876  6705 0.131  
24 Peru                         Repeated at lease once       859  6883 0.125  
25 Jordan                       Repeated at lease once       910  7385 0.123  
26 France                       Repeated at lease once       806  6635 0.121  
27 Palestinian Authority        Repeated at lease once       889  7504 0.118  
28 Hong Kong (China)            Repeated at lease once       636  5616 0.113  
29 Argentina                    Repeated at lease once      1303 11546 0.113  
30 Mexico                       Repeated at lease once       692  6253 0.111  
31 United Arab Emirates         Repeated at lease once      2514 22794 0.110  
32 Indonesia                    Repeated at lease once      1354 13247 0.102  
33 Italy                        Repeated at lease once      1003 10458 0.0959 
34 Israel                       Repeated at lease once       518  5956 0.0870 
35 Brunei Darussalam            Repeated at lease once       464  5541 0.0837 
36 Malaysia                     Repeated at lease once       563  6967 0.0808 
37 United States                Repeated at lease once       347  4296 0.0808 
38 Thailand                     Repeated at lease once       574  8404 0.0683 
39 Slovak Republic              Repeated at lease once       376  5718 0.0658 
40 Saudi Arabia                 Repeated at lease once       415  6682 0.0621 
41 Uzbekistan                   Repeated at lease once       437  7170 0.0609 
42 Albania                      Repeated at lease once       278  5244 0.0530 
43 Kosovo                       Repeated at lease once       302  5741 0.0526 
44 Australia                    Repeated at lease once       674 12990 0.0519 
45 Canada                       Repeated at lease once      1063 21074 0.0504 
46 New Zealand                  Repeated at lease once       223  4516 0.0494 
47 Bulgaria                     Repeated at lease once       275  5782 0.0476 
48 Denmark                      Repeated at lease once       274  5918 0.0463 
49 Hungary                      Repeated at lease once       279  6039 0.0462 
50 Viet Nam                     Repeated at lease once       264  6025 0.0438 
51 Malta                        Repeated at lease once       129  2956 0.0436 
52 Sweden                       Repeated at lease once       239  5876 0.0407 
53 Finland                      Repeated at lease once       398  9911 0.0402 
54 Ireland                      Repeated at lease once       212  5516 0.0384 
55 Baku (Azerbaijan)            Repeated at lease once       268  7003 0.0383 
56 Mongolia                     Repeated at lease once       261  6930 0.0377 
57 Romania                      Repeated at lease once       266  7292 0.0365 
58 Czech Republic               Repeated at lease once       295  8362 0.0353 
59 Korea                        Repeated at lease once       217  6385 0.0340 
60 Estonia                      Repeated at lease once       213  6297 0.0338 
61 Slovenia                     Repeated at lease once       218  6577 0.0331 
62 Singapore                    Repeated at lease once       216  6558 0.0329 
63 Georgia                      Repeated at lease once       189  6117 0.0309 
64 North Macedonia              Repeated at lease once       190  6341 0.0300 
65 Republic of Moldova          Repeated at lease once       168  6143 0.0273 
66 Latvia                       Repeated at lease once       137  5221 0.0262 
67 Ukrainian regions (18 of 27) Repeated at lease once        95  3628 0.0262 
68 United Kingdom               Repeated at lease once       252 11303 0.0223 
69 Poland                       Repeated at lease once       128  5902 0.0217 
70 Montenegro                   Repeated at lease once       121  5636 0.0215 
71 Greece                       Repeated at lease once       126  6290 0.0200 
72 Kazakhstan                   Repeated at lease once       393 19688 0.0200 
73 Lithuania                    Repeated at lease once       134  7134 0.0188 
74 Türkiye                      Repeated at lease once       127  7220 0.0176 
75 Iceland                      Repeated at lease once        44  3258 0.0135 
76 Croatia                      Repeated at lease once        70  6059 0.0116 
77 Serbia                       Repeated at lease once        69  6324 0.0109 
78 Chinese Taipei               Repeated at lease once        55  5792 0.00950

8 Advanced topics

8.1 Recoding data (ifelse)

Often we want to plot values in groupings that don’t yet exist, for example might want to give all schools over a certain size a different colour from others schools, or flag up students who have a different home language to the language that is being taught in school. To do this we need to look at how we can recode values. A common way to recode values is through an ifelse statement:

ifelse(<statement(s)>, <value_if_true>, <value_if_false>)

ifelse allows us to recode the data. In the example below, we are going to add a new column to the PISA_2022 dataset (using mutate) noting whether a student got a higher grade in their Maths PV1MATH or Reading PV1READ tests. if PV1MATH is bigger then PV1READ, the maths_better is TRUE, else maths_better is FALSE, or in dplyr format:

maths_data <- PISA_2022 %>%
  mutate(maths_better = 
           ifelse(PV1MATH > PV1READ,
                  TRUE, 
                  FALSE)) %>%
  select(CNT, ST004D01T, maths_better, PV1MATH, PV1READ)

print(maths_data)
# A tibble: 613,744 × 5
    CNT     ST004D01T maths_better PV1MATH PV1READ
    <fct>   <fct>     <lgl>          <dbl>   <dbl>
  1 Albania Female    FALSE           180.   248. 
  2 Albania Male      TRUE            308.   258. 
  3 Albania Male      FALSE           268.   285. 
  4 Albania Female    FALSE           273.   322. 
  5 Albania Female    FALSE           435.   464. 
  6 Albania Male      TRUE            534.   451. 
  7 Albania Male      FALSE           382.   391. 
  8 Albania Female    FALSE           273.   308. 
  9 Albania Female    FALSE           355.   429. 
 10 Albania Female    TRUE            430.   420. 
 11 Albania Male      TRUE            425.   381. 
 12 Albania Male      TRUE            463.   394. 
 13 Albania Male      FALSE           236.   247. 
 14 Albania Male      TRUE            327.   286. 
 15 Albania Female    TRUE            476.   466. 
 16 Albania Female    FALSE           303.   334. 
 17 Albania Male      FALSE           326.   342. 
 18 Albania Female    TRUE            549.   496. 
 19 Albania Female    TRUE            428.   399. 
 20 Albania Female    TRUE            455.   325. 
 21 Albania Male      FALSE           428.   485. 
 22 Albania Male      FALSE           278.   315. 
 23 Albania Male      FALSE           395.   481. 
 24 Albania Female    TRUE            394.   305. 
 25 Albania Female    TRUE            467.   367. 
 26 Albania Female    FALSE           328.   342. 
 27 Albania Female    TRUE            334.   313. 
 28 Albania Female    FALSE           270.   389. 
 29 Albania Male      TRUE            383.   360. 
 30 Albania Female    FALSE           403.   474. 
 31 Albania Male      FALSE           301.   320. 
 32 Albania Male      FALSE           329.   335. 
 33 Albania Male      TRUE            487.   458. 
 34 Albania Female    TRUE            346.   289. 
 35 Albania Female    FALSE           413.   417. 
 36 Albania Male      TRUE            338.   336. 
 37 Albania Female    FALSE           325.   326. 
 38 Albania Female    TRUE            263.   259. 
 39 Albania Female    TRUE            487.   449. 
 40 Albania Female    FALSE           449.   602. 
 41 Albania Female    FALSE           298.   355. 
 42 Albania Male      TRUE            310.   289. 
 43 Albania Female    FALSE           368.   394. 
 44 Albania Male      TRUE            314.   284. 
 45 Albania Male      FALSE           174.   234. 
 46 Albania Female    TRUE            390.   372. 
 47 Albania Female    TRUE            347.   263. 
 48 Albania Male      FALSE           328.   387. 
 49 Albania Male      TRUE            366.   361. 
 50 Albania Female    TRUE            428.   346. 
 51 Albania Female    TRUE            371.   294. 
 52 Albania Female    TRUE            291.   271. 
 53 Albania Female    FALSE           458.   488. 
 54 Albania Male      FALSE           329.   334. 
 55 Albania Male      TRUE            287.   278. 
 56 Albania Female    FALSE           390.   461. 
 57 Albania Male      FALSE           370.   381. 
 58 Albania Male      TRUE            280.   271. 
 59 Albania Male      TRUE            437.   356. 
 60 Albania Male      FALSE           438.   487. 
 61 Albania Male      FALSE           299.   341. 
 62 Albania Female    FALSE           309.   377. 
 63 Albania Female    TRUE            347.   338. 
 64 Albania Female    FALSE           303.   406. 
 65 Albania Male      TRUE            381.   339. 
 66 Albania Male      TRUE            445.   424. 
 67 Albania Female    FALSE           322.   336. 
 68 Albania Female    FALSE           480.   578. 
 69 Albania Female    FALSE           369.   453. 
 70 Albania Male      TRUE            495.   422. 
 71 Albania Female    TRUE            368.   297. 
 72 Albania Female    TRUE            468.   246. 
 73 Albania Male      FALSE           278.   323. 
 74 Albania Male      TRUE            473.   428. 
 75 Albania Female    FALSE           412.   438. 
 76 Albania Male      FALSE           277.   305. 
 77 Albania Female    TRUE            412.   299. 
 78 Albania Male      FALSE           210.   304. 
 79 Albania Male      TRUE            305.   251. 
 80 Albania Female    TRUE            589.   446. 
 81 Albania Male      TRUE            411.   365. 
 82 Albania Male      TRUE            332.   314. 
 83 Albania Female    TRUE            314.   252. 
 84 Albania Male      TRUE            283.   238. 
 85 Albania Male      TRUE            404.   314. 
 86 Albania Male      FALSE           304.   319. 
 87 Albania Male      FALSE           205.   235. 
 88 Albania Male      TRUE            348.   343. 
 89 Albania Male      TRUE            478.   426. 
 90 Albania Male      FALSE           285.   353. 
 91 Albania Female    TRUE            415.   345. 
 92 Albania Male      TRUE            398.   335. 
 93 Albania Female    FALSE           293.   365. 
 94 Albania Male      TRUE            381.   335. 
 95 Albania Male      FALSE           318.   351. 
 96 Albania Male      TRUE            388.   328. 
 97 Albania Female    FALSE           311.   386. 
 98 Albania Male      TRUE            364.   309. 
 99 Albania Female    TRUE            391.   316. 
100 Albania Female    TRUE            353.   270. 
101 Albania Female    FALSE           321.   333. 
102 Albania Male      FALSE           422.   426. 
103 Albania Female    FALSE           302.   337. 
104 Albania Female    TRUE            330.   320. 
105 Albania Male      FALSE           223.   309. 
106 Albania Male      TRUE            452.   309. 
107 Albania Female    FALSE           433.   441. 
108 Albania Male      TRUE            516.   392. 
109 Albania Female    TRUE            363.   334. 
110 Albania Male      TRUE            496.   358. 
111 Albania Male      TRUE            258.    97.5
112 Albania Female    TRUE            468.   384. 
113 Albania Male      FALSE           296.   324. 
114 Albania Male      FALSE           463.   474. 
115 Albania Male      TRUE            293.   231. 
116 Albania Female    TRUE            301.   280. 
117 Albania Female    FALSE           317.   361. 
118 Albania Male      FALSE           207.   252. 
119 Albania Male      TRUE            270.   184. 
120 Albania Female    FALSE           374.   416. 
121 Albania Female    TRUE            350.   318. 
122 Albania Female    FALSE           255.   336. 
123 Albania Male      FALSE           236.   306. 
124 Albania Male      TRUE            338.   221. 
125 Albania Female    FALSE           304.   320. 
126 Albania Female    FALSE           322.   398. 
127 Albania Male      TRUE            408.   319. 
128 Albania Female    FALSE           329.   372. 
129 Albania Female    FALSE           383.   453. 
130 Albania Female    TRUE            267.   253. 
131 Albania Male      TRUE            460.   426. 
132 Albania Male      FALSE           339.   356. 
133 Albania Female    FALSE           493.   515. 
134 Albania Male      TRUE            427.   362. 
135 Albania Female    TRUE            440.   439. 
136 Albania Female    FALSE           331.   348. 
137 Albania Male      FALSE           275.   312. 
138 Albania Male      TRUE            397.   383. 
139 Albania Female    TRUE            452.   399. 
140 Albania Female    TRUE            572.   364. 
141 Albania Female    TRUE            324.   270. 
142 Albania Male      TRUE            333.   323. 
143 Albania Male      TRUE            610.   401. 
144 Albania Male      FALSE           334.   337. 
145 Albania Male      FALSE           338.   419. 
146 Albania Female    TRUE            335.   247. 
147 Albania Male      FALSE           254.   365. 
148 Albania Male      FALSE           256.   277. 
149 Albania Female    TRUE            284.   243. 
150 Albania Male      FALSE           275.   293. 
151 Albania Male      FALSE           272.   300. 
152 Albania Female    TRUE            450.   439. 
153 Albania Male      TRUE            313.   218. 
154 Albania Female    FALSE           278.   298. 
155 Albania Female    FALSE           368.   428. 
156 Albania Female    FALSE           404.   456. 
157 Albania Male      TRUE            395.   334. 
158 Albania Male      TRUE            446.   354. 
159 Albania Female    FALSE           375.   393. 
160 Albania Female    TRUE            362.   350. 
161 Albania Female    FALSE           453.   457. 
162 Albania Female    TRUE            247.   232. 
163 Albania Male      TRUE            322.   212. 
164 Albania Male      FALSE           238.   362. 
165 Albania Female    TRUE            595.   471. 
166 Albania Male      FALSE           432.   449. 
167 Albania Female    TRUE            279.   237. 
168 Albania Male      TRUE            458.   373. 
169 Albania Male      TRUE            353.   343. 
170 Albania Male      FALSE           309.   341. 
171 Albania Male      TRUE            343.   306. 
172 Albania Female    FALSE           388.   398. 
173 Albania Male      FALSE           202.   236. 
174 Albania Male      TRUE            283.   277. 
175 Albania Female    FALSE           310.   335. 
176 Albania Female    TRUE            312.   235. 
177 Albania Male      FALSE           237.   408. 
178 Albania Male      TRUE            353.   275. 
179 Albania Male      FALSE           230.   261. 
180 Albania Male      FALSE           218.   377. 
181 Albania Female    FALSE           451.   469. 
182 Albania Male      FALSE           197.   236. 
183 Albania Male      FALSE           300.   312. 
184 Albania Male      TRUE            265.   257. 
185 Albania Female    TRUE            431.   392. 
186 Albania Female    FALSE           323.   354. 
187 Albania Female    FALSE           240.   304. 
188 Albania Female    FALSE           557.   587. 
189 Albania Female    TRUE            426.   398. 
190 Albania Female    TRUE            453.   376. 
191 Albania Male      TRUE            278.   273. 
192 Albania Male      TRUE            444.   336. 
193 Albania Female    FALSE           374.   383. 
194 Albania Male      FALSE           259.   324. 
195 Albania Female    FALSE           384.   409. 
196 Albania Male      FALSE           252.   298. 
197 Albania Male      TRUE            383.   302. 
198 Albania Male      TRUE            553.   480. 
199 Albania Male      TRUE            260.   218. 
200 Albania Female    TRUE            514.   462. 
201 Albania Male      TRUE            423.   398. 
202 Albania Female    TRUE            491.   479. 
203 Albania Female    FALSE           288.   301. 
204 Albania Female    TRUE            398.   369. 
205 Albania Male      FALSE           287.   288. 
206 Albania Male      TRUE            441.   389. 
207 Albania Female    FALSE           440.   533. 
208 Albania Female    TRUE            486.   445. 
209 Albania Male      TRUE            328.   288. 
210 Albania Male      TRUE            498.   418. 
211 Albania Female    TRUE            408.   396. 
212 Albania Female    FALSE           206.   238. 
213 Albania Male      TRUE            460.   379. 
214 Albania Male      TRUE            362.   332. 
215 Albania Male      FALSE           384.   384. 
216 Albania Female    TRUE            347.   325. 
217 Albania Female    TRUE            382.   381. 
218 Albania Male      FALSE           280.   309. 
219 Albania Male      TRUE            342.   294. 
220 Albania Female    FALSE           409.   441. 
221 Albania Female    TRUE            306.   207. 
222 Albania Male      TRUE            284.   182. 
223 Albania Female    FALSE           423.   443. 
224 Albania Female    FALSE           416.   502. 
225 Albania Female    TRUE            453.   410. 
226 Albania Male      FALSE           254.   269. 
227 Albania Female    FALSE           325.   350. 
228 Albania Male      TRUE            373.   329. 
229 Albania Female    FALSE           422.   425. 
230 Albania Male      FALSE           343.   355. 
231 Albania Male      TRUE            612.   563. 
232 Albania Female    FALSE           355.   370. 
233 Albania Female    TRUE            347.   334. 
234 Albania Female    TRUE            396.   382. 
235 Albania Male      FALSE           318.   367. 
236 Albania Male      TRUE            470.   432. 
237 Albania Female    FALSE           490.   492. 
238 Albania Male      TRUE            489.   437. 
239 Albania Male      TRUE            406.   338. 
240 Albania Male      TRUE            555.   407. 
241 Albania Female    FALSE           243.   268. 
242 Albania Male      TRUE            448.   364. 
243 Albania Female    TRUE            438.   427. 
244 Albania Female    TRUE            502.   422. 
245 Albania Female    FALSE           401.   422. 
246 Albania Male      FALSE           299.   333. 
247 Albania Female    TRUE            467.   465. 
248 Albania Female    FALSE           334.   418. 
249 Albania Male      FALSE           331.   417. 
250 Albania Female    FALSE           399.   403. 
251 Albania Male      TRUE            345.   257. 
252 Albania Female    TRUE            430.   383. 
253 Albania Female    TRUE            558.   479. 
254 Albania Male      TRUE            369.   322. 
255 Albania Male      FALSE           457.   459. 
256 Albania Female    FALSE           401.   443. 
257 Albania Female    FALSE           409.   479. 
258 Albania Male      TRUE            361.   212. 
259 Albania Male      TRUE            351.   267. 
260 Albania Male      FALSE           266.   267. 
261 Albania Female    FALSE           268.   333. 
262 Albania Male      FALSE           223.   272. 
263 Albania Male      TRUE            322.   307. 
264 Albania Female    FALSE           417.   423. 
265 Albania Female    TRUE            453.   284. 
266 Albania Female    FALSE           509.   529. 
267 Albania Male      TRUE            425.   401. 
268 Albania Female    FALSE           297.   302. 
269 Albania Male      TRUE            363.   291. 
270 Albania Female    FALSE           289.   296. 
271 Albania Male      TRUE            482.   458. 
272 Albania Female    FALSE           309.   375. 
273 Albania Male      FALSE           385.   424. 
274 Albania Male      TRUE            414.   330. 
275 Albania Female    TRUE            511.   473. 
276 Albania Female    FALSE           278.   397. 
277 Albania Male      TRUE            515.   435. 
278 Albania Female    TRUE            436.   410. 
279 Albania Female    TRUE            308.   285. 
280 Albania Male      TRUE            584.   512. 
281 Albania Male      TRUE            488.   426. 
282 Albania Female    TRUE            315.   301. 
283 Albania Male      TRUE            256.   232. 
284 Albania Male      FALSE           229.   351. 
285 Albania Male      TRUE            277.   197. 
286 Albania Female    TRUE            378.   323. 
287 Albania Male      FALSE           216.   292. 
288 Albania Male      TRUE            270.   263. 
289 Albania Female    FALSE           417.   418. 
290 Albania Male      FALSE           282.   312. 
291 Albania Female    FALSE           307.   343. 
292 Albania Male      FALSE           349.   395. 
293 Albania Male      TRUE            264.   200. 
294 Albania Female    FALSE           257.   293. 
295 Albania Female    FALSE           329.   390. 
296 Albania Male      TRUE            358.   276. 
297 Albania Male      TRUE            398.   325. 
298 Albania Male      FALSE           340.   346. 
299 Albania Female    TRUE            275.   207. 
300 Albania Female    FALSE           383.   468. 
301 Albania Male      TRUE            316.   239. 
302 Albania Female    FALSE           386.   486. 
303 Albania Male      FALSE           255.   347. 
304 Albania Male      FALSE           447.   448. 
305 Albania Male      FALSE           318.   342. 
306 Albania Male      TRUE            370.   228. 
307 Albania Female    TRUE            426.   323. 
308 Albania Male      FALSE           359.   374. 
309 Albania Male      FALSE           392.   400. 
310 Albania Female    FALSE           233.   349. 
311 Albania Male      TRUE            645.   599. 
312 Albania Male      TRUE            296.   259. 
313 Albania Female    FALSE           385.   394. 
314 Albania Female    TRUE            370.   318. 
315 Albania Male      TRUE            379.   352. 
316 Albania Female    TRUE            263.   247. 
317 Albania Male      TRUE            499.   497. 
318 Albania Female    FALSE           490.   517. 
319 Albania Female    FALSE           252.   279. 
320 Albania Female    FALSE           238.   268. 
321 Albania Male      TRUE            456.   380. 
322 Albania Female    FALSE           306.   371. 
323 Albania Female    FALSE           430.   498. 
324 Albania Female    TRUE            391.   383. 
325 Albania Female    TRUE            472.   427. 
326 Albania Male      TRUE            431.   343. 
327 Albania Male      TRUE            359.   318. 
328 Albania Female    TRUE            636.   536. 
329 Albania Male      TRUE            244.   215. 
330 Albania Male      TRUE            429.   343. 
331 Albania Female    TRUE            415.   410. 
332 Albania Male      TRUE            395.   229. 
333 Albania Female    FALSE           331.   413. 
334 Albania Female    FALSE           358.   368. 
335 Albania Female    TRUE            458.   404. 
336 Albania Male      FALSE           509.   512. 
337 Albania Male      FALSE           329.   340. 
338 Albania Female    FALSE           278.   326. 
339 Albania Female    TRUE            496.   434. 
340 Albania Male      FALSE           331.   393. 
341 Albania Male      FALSE           400.   426. 
342 Albania Male      FALSE           306.   327. 
343 Albania Female    FALSE           337.   341. 
344 Albania Female    FALSE           221.   423. 
345 Albania Male      TRUE            366.   292. 
346 Albania Male      FALSE           288.   340. 
347 Albania Male      FALSE           304.   304. 
348 Albania Male      TRUE            479.   439. 
349 Albania Male      FALSE           212.   275. 
350 Albania Female    TRUE            448.   392. 
351 Albania Male      TRUE            336.   275. 
352 Albania Female    FALSE           266.   343. 
353 Albania Female    FALSE           353.   372. 
354 Albania Female    FALSE           313.   352. 
355 Albania Female    FALSE           255.   361. 
356 Albania Male      TRUE            367.   340. 
357 Albania Male      FALSE           240.   305. 
358 Albania Male      TRUE            479.   436. 
359 Albania Male      TRUE            354.   278. 
360 Albania Female    TRUE            541.   499. 
361 Albania Male      TRUE            556.   503. 
362 Albania Female    TRUE            387.   387. 
363 Albania Female    FALSE           319.   371. 
364 Albania Male      TRUE            249.   142. 
365 Albania Male      TRUE            490.   347. 
366 Albania Female    FALSE           408.   421. 
367 Albania Male      FALSE           214.   277. 
368 Albania Male      FALSE           279.   290. 
369 Albania Female    TRUE            339.   337. 
370 Albania Female    TRUE            473.   416. 
371 Albania Female    TRUE            469.   454. 
372 Albania Male      TRUE            371.   346. 
373 Albania Male      TRUE            175.   138. 
374 Albania Male      TRUE            432.   372. 
375 Albania Male      TRUE            352.   331. 
376 Albania Male      FALSE           286.   321. 
377 Albania Male      FALSE           397.   488. 
378 Albania Male      FALSE           250.   325. 
379 Albania Female    FALSE           416.   459. 
380 Albania Female    TRUE            381.   344. 
381 Albania Female    FALSE           349.   358. 
382 Albania Male      TRUE            391.   380. 
383 Albania Male      TRUE            342.   269. 
384 Albania Female    TRUE            370.   318. 
385 Albania Male      TRUE            370.   286. 
386 Albania Male      FALSE           242.   286. 
387 Albania Male      TRUE            297.   285. 
388 Albania Female    FALSE           256.   290. 
389 Albania Female    FALSE           420.   486. 
390 Albania Male      FALSE           300.   303. 
391 Albania Male      FALSE           427.   499. 
392 Albania Male      TRUE            372.   259. 
393 Albania Male      FALSE           294.   314. 
394 Albania Female    TRUE            314.   244. 
395 Albania Female    FALSE           328.   375. 
396 Albania Female    TRUE            406.   294. 
397 Albania Male      TRUE            414.   337. 
398 Albania Female    FALSE           438.   443. 
399 Albania Male      FALSE           305.   328. 
400 Albania Female    FALSE           276.   302. 
401 Albania Male      TRUE            371.   337. 
402 Albania Male      FALSE           353.   369. 
403 Albania Female    FALSE           481.   529. 
404 Albania Female    FALSE           348.   390. 
405 Albania Female    FALSE           284.   335. 
406 Albania Female    TRUE            312.   303. 
407 Albania Male      TRUE            367.   303. 
408 Albania Male      TRUE            382.   327. 
409 Albania Male      TRUE            320.   306. 
410 Albania Female    TRUE            523.   354. 
411 Albania Female    TRUE            338.   306. 
412 Albania Female    FALSE           397.   445. 
413 Albania Female    TRUE            311.   301. 
414 Albania Female    TRUE            344.   276. 
415 Albania Male      TRUE            313.   305. 
416 Albania Female    TRUE            419.   358. 
417 Albania Female    FALSE           444.   591. 
418 Albania Male      TRUE            335.   331. 
419 Albania Female    FALSE           458.   543. 
420 Albania Male      FALSE           289.   360. 
421 Albania Female    TRUE            373.   207. 
422 Albania Female    FALSE           401.   442. 
423 Albania Female    TRUE            334.   291. 
424 Albania Male      TRUE            447.   393. 
425 Albania Female    FALSE           262.   325. 
426 Albania Female    FALSE           341.   429. 
427 Albania Female    FALSE           346.   407. 
428 Albania Male      FALSE           246.   250. 
429 Albania Female    FALSE           306.   395. 
430 Albania Male      TRUE            444.   438. 
431 Albania Male      FALSE           179.   252. 
432 Albania Male      TRUE            260.   232. 
433 Albania Female    TRUE            463.   324. 
434 Albania Female    TRUE            388.   346. 
435 Albania Male      FALSE           268.   293. 
436 Albania Female    TRUE            391.   310. 
437 Albania Male      TRUE            356.   356. 
438 Albania Male      TRUE            246.   236. 
439 Albania Male      FALSE           231.   381. 
440 Albania Female    TRUE            345.   309. 
441 Albania Male      TRUE            513.   436. 
442 Albania Male      FALSE           238.   348. 
443 Albania Male      TRUE            479.   394. 
444 Albania Female    FALSE           414.   448. 
445 Albania Male      FALSE           444.   467. 
446 Albania Female    FALSE           337.   397. 
447 Albania Male      TRUE            265.   242. 
448 Albania Female    TRUE            420.   353. 
449 Albania Male      TRUE            284.   210. 
450 Albania Female    FALSE           313.   417. 
451 Albania Female    FALSE           359.   440. 
452 Albania Female    FALSE           296.   336. 
453 Albania Female    TRUE            392.   344. 
454 Albania Female    FALSE           357.   454. 
455 Albania Female    TRUE            385.   379. 
456 Albania Male      TRUE            348.   284. 
457 Albania Female    TRUE            334.   330. 
458 Albania Female    TRUE            482.   464. 
459 Albania Female    FALSE           299.   415. 
460 Albania Female    FALSE           308.   311. 
461 Albania Male      TRUE            381.   371. 
462 Albania Male      TRUE            470.   446. 
463 Albania Male      TRUE            382.   255. 
464 Albania Female    TRUE            260.   258. 
465 Albania Male      FALSE           295.   333. 
466 Albania Female    TRUE            439.   403. 
467 Albania Male      TRUE            300.   219. 
468 Albania Female    FALSE           443.   542. 
469 Albania Male      FALSE           267.   367. 
470 Albania Female    FALSE           259.   274. 
471 Albania Male      TRUE            531.   434. 
472 Albania Female    FALSE           305.   346. 
473 Albania Female    TRUE            437.   372. 
474 Albania Female    TRUE            380.   315. 
475 Albania Female    TRUE            361.   321. 
476 Albania Female    FALSE           388.   510. 
477 Albania Male      FALSE           183.   285. 
478 Albania Female    TRUE            423.   364. 
479 Albania Male      TRUE            482.   361. 
480 Albania Male      TRUE            269.   235. 
481 Albania Male      TRUE            414.   290. 
482 Albania Female    TRUE            410.   373. 
483 Albania Female    TRUE            577.   535. 
484 Albania Female    FALSE           355.   359. 
485 Albania Female    FALSE           376.   407. 
486 Albania Male      FALSE           308.   340. 
487 Albania Female    TRUE            326.   280. 
488 Albania Male      FALSE           355.   384. 
489 Albania Male      FALSE           198.   259. 
490 Albania Female    FALSE           339.   451. 
491 Albania Female    TRUE            263.   237. 
492 Albania Male      TRUE            275.   238. 
493 Albania Female    FALSE           341.   349. 
494 Albania Male      TRUE            558.   524. 
495 Albania Female    TRUE            469.   393. 
496 Albania Male      TRUE            436.   403. 
497 Albania Female    FALSE           323.   404. 
498 Albania Male      TRUE            317.   314. 
499 Albania Female    FALSE           329.   352. 
500 Albania Female    TRUE            267.   262. 
# ℹ 613,244 more rows

We now take this new dataset maths_data and look at whether the difference between relative performance in maths and reading is the same for girls and boys:

maths_data %>% 
  filter(!is.na(ST004D01T), !is.na(maths_better)) %>%
  group_by(ST004D01T, maths_better) %>%
  summarise(n = n()) 
# A tibble: 4 × 3
# Groups:   ST004D01T [2]
  ST004D01T maths_better      n
  <fct>     <lgl>         <int>
1 Female    FALSE        180350
2 Female    TRUE         125409
3 Male      FALSE        118341
4 Male      TRUE         189565

Adjust the code above to work out the percentages of Males and Females ST004D01T in each group. Check to see if the pattern also exists between science PV1SCIE and reading PV1READ:

adding percentage column
PISA_2022 %>%
  mutate(maths_better = 
           ifelse(PV1MATH > PV1READ,
                  TRUE, 
                  FALSE)) %>%
  select(CNT, ST004D01T, maths_better, PV1MATH, PV1READ) %>% 
  filter(!is.na(ST004D01T), !is.na(maths_better)) %>%
  group_by(ST004D01T) %>%
  mutate(students_n = n()) %>%
  group_by(ST004D01T, maths_better) %>%
  summarise(n = n(),
            per = n/unique(students_n))
comparing science and reading
PISA_2022 %>%
  mutate(sci_better = 
           ifelse(PV1SCIE > PV1READ,
                  TRUE, 
                  FALSE)) %>%
  select(CNT, ST004D01T, sci_better, PV1SCIE, PV1READ) %>% 
  filter(!is.na(ST004D01T), !is.na(sci_better)) %>%
  group_by(ST004D01T) %>%
  mutate(students_n = n()) %>%
  group_by(ST004D01T, sci_better) %>%
  summarise(n = n(),
            per = n/unique(students_n))
comparing science and maths
PISA_2022 %>%
  mutate(sci_better = 
           ifelse(PV1SCIE > PV1MATH,
                  TRUE, 
                  FALSE)) %>%
  select(CNT, ST004D01T, sci_better, PV1SCIE, PV1MATH) %>% 
  filter(!is.na(ST004D01T), !is.na(sci_better)) %>%
  group_by(ST004D01T) %>%
  mutate(students_n = n()) %>%
  group_by(ST004D01T, sci_better) %>%
  summarise(n = n(),
            per = n/unique(students_n))

ifelse statements can get a little complicated when using factors (see: Section 8.2). Take this example. Let’s flag students who have a different home language LANGN to the language that is being used in the PISA assessment tool LANGTEST_QQQ. We make an assumption here that the assessment tool will be the language used at school, so these students will be learning in a different language to their mother tongue. if LANGN equals LANGTEST_QQQ, the lang_diff is FALSE, else lang_diff is TRUE, this raises an error:

lang_data <- PISA_2022 %>%
  mutate(lang_diff = 
           ifelse(LANGN == LANGTEST_QQQ,
                  FALSE, 
                  TRUE)) %>%
  select(CNT, lang_diff, LANGTEST_QQQ, LANGN)
Error in `mutate()`:
ℹ In argument: `lang_diff = ifelse(LANGN == LANGTEST_QQQ, FALSE, TRUE)`.
Caused by error in `Ops.factor()`:
! level sets of factors are different

The levels in each field are different, i.e. the range of home languages is larger than the range of test languages. To fix this, all we need to do is change the datatype of the factors LANGN and LANGTEST_QQQ to characters using as.character(<field>). This will then allow the comparison of the text stored in each row:

lang_data <- PISA_2022 %>%
  mutate(lang_diff = 
           ifelse(as.character(LANGN) == as.character(LANGTEST_QQQ),
                  FALSE, 
                  TRUE)) %>%
  select(CNT, lang_diff, LANGTEST_QQQ, LANGN)

print(lang_data)
# A tibble: 613,744 × 4
    CNT     lang_diff LANGTEST_QQQ LANGN                 
    <fct>   <lgl>     <fct>        <fct>                 
  1 Albania FALSE     Albanian     Albanian              
  2 Albania FALSE     Albanian     Albanian              
  3 Albania FALSE     Albanian     Albanian              
  4 Albania FALSE     Albanian     Albanian              
  5 Albania FALSE     Albanian     Albanian              
  6 Albania FALSE     Albanian     Albanian              
  7 Albania FALSE     Albanian     Albanian              
  8 Albania FALSE     Albanian     Albanian              
  9 Albania FALSE     Albanian     Albanian              
 10 Albania FALSE     Albanian     Albanian              
 11 Albania FALSE     Albanian     Albanian              
 12 Albania TRUE      Albanian     Another language (ALB)
 13 Albania TRUE      Albanian     Missing               
 14 Albania FALSE     Albanian     Albanian              
 15 Albania FALSE     Albanian     Albanian              
 16 Albania FALSE     Albanian     Albanian              
 17 Albania FALSE     Albanian     Albanian              
 18 Albania FALSE     Albanian     Albanian              
 19 Albania FALSE     Albanian     Albanian              
 20 Albania FALSE     Albanian     Albanian              
 21 Albania FALSE     Albanian     Albanian              
 22 Albania FALSE     Albanian     Albanian              
 23 Albania FALSE     Albanian     Albanian              
 24 Albania FALSE     Albanian     Albanian              
 25 Albania TRUE      Albanian     Missing               
 26 Albania FALSE     Albanian     Albanian              
 27 Albania FALSE     Albanian     Albanian              
 28 Albania TRUE      Albanian     Another language (ALB)
 29 Albania FALSE     Albanian     Albanian              
 30 Albania FALSE     Albanian     Albanian              
 31 Albania FALSE     Albanian     Albanian              
 32 Albania FALSE     Albanian     Albanian              
 33 Albania FALSE     Albanian     Albanian              
 34 Albania FALSE     Albanian     Albanian              
 35 Albania FALSE     Albanian     Albanian              
 36 Albania FALSE     Albanian     Albanian              
 37 Albania FALSE     Albanian     Albanian              
 38 Albania FALSE     Albanian     Albanian              
 39 Albania FALSE     Albanian     Albanian              
 40 Albania FALSE     Albanian     Albanian              
 41 Albania FALSE     Albanian     Albanian              
 42 Albania TRUE      Albanian     Another language (ALB)
 43 Albania FALSE     Albanian     Albanian              
 44 Albania FALSE     Albanian     Albanian              
 45 Albania FALSE     Albanian     Albanian              
 46 Albania FALSE     Albanian     Albanian              
 47 Albania FALSE     Albanian     Albanian              
 48 Albania FALSE     Albanian     Albanian              
 49 Albania FALSE     Albanian     Albanian              
 50 Albania FALSE     Albanian     Albanian              
 51 Albania TRUE      Albanian     Another language (ALB)
 52 Albania FALSE     Albanian     Albanian              
 53 Albania FALSE     Albanian     Albanian              
 54 Albania FALSE     Albanian     Albanian              
 55 Albania FALSE     Albanian     Albanian              
 56 Albania FALSE     Albanian     Albanian              
 57 Albania FALSE     Albanian     Albanian              
 58 Albania FALSE     Albanian     Albanian              
 59 Albania FALSE     Albanian     Albanian              
 60 Albania FALSE     Albanian     Albanian              
 61 Albania FALSE     Albanian     Albanian              
 62 Albania FALSE     Albanian     Albanian              
 63 Albania FALSE     Albanian     Albanian              
 64 Albania FALSE     Albanian     Albanian              
 65 Albania NA        <NA>         Missing               
 66 Albania FALSE     Albanian     Albanian              
 67 Albania FALSE     Albanian     Albanian              
 68 Albania FALSE     Albanian     Albanian              
 69 Albania FALSE     Albanian     Albanian              
 70 Albania FALSE     Albanian     Albanian              
 71 Albania FALSE     Albanian     Albanian              
 72 Albania NA        <NA>         Missing               
 73 Albania FALSE     Albanian     Albanian              
 74 Albania FALSE     Albanian     Albanian              
 75 Albania FALSE     Albanian     Albanian              
 76 Albania TRUE      Albanian     Missing               
 77 Albania FALSE     Albanian     Albanian              
 78 Albania FALSE     Albanian     Albanian              
 79 Albania TRUE      Albanian     Missing               
 80 Albania FALSE     Albanian     Albanian              
 81 Albania FALSE     Albanian     Albanian              
 82 Albania FALSE     Albanian     Albanian              
 83 Albania FALSE     Albanian     Albanian              
 84 Albania TRUE      Albanian     Missing               
 85 Albania FALSE     Albanian     Albanian              
 86 Albania FALSE     Albanian     Albanian              
 87 Albania FALSE     Albanian     Albanian              
 88 Albania FALSE     Albanian     Albanian              
 89 Albania FALSE     Albanian     Albanian              
 90 Albania NA        <NA>         Missing               
 91 Albania FALSE     Albanian     Albanian              
 92 Albania FALSE     Albanian     Albanian              
 93 Albania TRUE      Albanian     Another language (ALB)
 94 Albania TRUE      Albanian     Missing               
 95 Albania FALSE     Albanian     Albanian              
 96 Albania FALSE     Albanian     Albanian              
 97 Albania FALSE     Albanian     Albanian              
 98 Albania FALSE     Albanian     Albanian              
 99 Albania FALSE     Albanian     Albanian              
100 Albania FALSE     Albanian     Albanian              
101 Albania FALSE     Albanian     Albanian              
102 Albania FALSE     Albanian     Albanian              
103 Albania FALSE     Albanian     Albanian              
104 Albania TRUE      Albanian     Another language (ALB)
105 Albania FALSE     Albanian     Albanian              
106 Albania FALSE     Albanian     Albanian              
107 Albania FALSE     Albanian     Albanian              
108 Albania TRUE      Albanian     Missing               
109 Albania FALSE     Albanian     Albanian              
110 Albania NA        <NA>         Missing               
111 Albania FALSE     Albanian     Albanian              
112 Albania FALSE     Albanian     Albanian              
113 Albania FALSE     Albanian     Albanian              
114 Albania FALSE     Albanian     Albanian              
115 Albania TRUE      Albanian     Missing               
116 Albania FALSE     Albanian     Albanian              
117 Albania FALSE     Albanian     Albanian              
118 Albania TRUE      Albanian     Another language (ALB)
119 Albania FALSE     Albanian     Albanian              
120 Albania FALSE     Albanian     Albanian              
121 Albania FALSE     Albanian     Albanian              
122 Albania FALSE     Albanian     Albanian              
123 Albania FALSE     Albanian     Albanian              
124 Albania FALSE     Albanian     Albanian              
125 Albania FALSE     Albanian     Albanian              
126 Albania FALSE     Albanian     Albanian              
127 Albania FALSE     Albanian     Albanian              
128 Albania FALSE     Albanian     Albanian              
129 Albania FALSE     Albanian     Albanian              
130 Albania FALSE     Albanian     Albanian              
131 Albania FALSE     Albanian     Albanian              
132 Albania TRUE      Albanian     Missing               
133 Albania FALSE     Albanian     Albanian              
134 Albania FALSE     Albanian     Albanian              
135 Albania FALSE     Albanian     Albanian              
136 Albania FALSE     Albanian     Albanian              
137 Albania FALSE     Albanian     Albanian              
138 Albania FALSE     Albanian     Albanian              
139 Albania FALSE     Albanian     Albanian              
140 Albania FALSE     Albanian     Albanian              
141 Albania FALSE     Albanian     Albanian              
142 Albania TRUE      Albanian     Missing               
143 Albania TRUE      Albanian     Missing               
144 Albania TRUE      Albanian     Missing               
145 Albania TRUE      Albanian     Missing               
146 Albania FALSE     Albanian     Albanian              
147 Albania FALSE     Albanian     Albanian              
148 Albania FALSE     Albanian     Albanian              
149 Albania FALSE     Albanian     Albanian              
150 Albania FALSE     Albanian     Albanian              
151 Albania FALSE     Albanian     Albanian              
152 Albania FALSE     Albanian     Albanian              
153 Albania FALSE     Albanian     Albanian              
154 Albania FALSE     Albanian     Albanian              
155 Albania TRUE      Albanian     Another language (ALB)
156 Albania FALSE     Albanian     Albanian              
157 Albania FALSE     Albanian     Albanian              
158 Albania FALSE     Albanian     Albanian              
159 Albania FALSE     Albanian     Albanian              
160 Albania FALSE     Albanian     Albanian              
161 Albania FALSE     Albanian     Albanian              
162 Albania FALSE     Albanian     Albanian              
163 Albania FALSE     Albanian     Albanian              
164 Albania FALSE     Albanian     Albanian              
165 Albania FALSE     Albanian     Albanian              
166 Albania FALSE     Albanian     Albanian              
167 Albania FALSE     Albanian     Albanian              
168 Albania FALSE     Albanian     Albanian              
169 Albania TRUE      Albanian     Missing               
170 Albania FALSE     Albanian     Albanian              
171 Albania FALSE     Albanian     Albanian              
172 Albania FALSE     Albanian     Albanian              
173 Albania TRUE      Albanian     Missing               
174 Albania FALSE     Albanian     Albanian              
175 Albania FALSE     Albanian     Albanian              
176 Albania FALSE     Albanian     Albanian              
177 Albania FALSE     Albanian     Albanian              
178 Albania FALSE     Albanian     Albanian              
179 Albania FALSE     Albanian     Albanian              
180 Albania FALSE     Albanian     Albanian              
181 Albania TRUE      Albanian     Missing               
182 Albania TRUE      Albanian     Another language (ALB)
183 Albania NA        <NA>         Missing               
184 Albania FALSE     Albanian     Albanian              
185 Albania FALSE     Albanian     Albanian              
186 Albania FALSE     Albanian     Albanian              
187 Albania FALSE     Albanian     Albanian              
188 Albania FALSE     Albanian     Albanian              
189 Albania TRUE      Albanian     Missing               
190 Albania FALSE     Albanian     Albanian              
191 Albania FALSE     Albanian     Albanian              
192 Albania TRUE      Albanian     Another language (ALB)
193 Albania TRUE      Albanian     Another language (ALB)
194 Albania FALSE     Albanian     Albanian              
195 Albania FALSE     Albanian     Albanian              
196 Albania TRUE      Albanian     Missing               
197 Albania FALSE     Albanian     Albanian              
198 Albania FALSE     Albanian     Albanian              
199 Albania FALSE     Albanian     Albanian              
200 Albania FALSE     Albanian     Albanian              
201 Albania FALSE     Albanian     Albanian              
202 Albania FALSE     Albanian     Albanian              
203 Albania FALSE     Albanian     Albanian              
204 Albania FALSE     Albanian     Albanian              
205 Albania FALSE     Albanian     Albanian              
206 Albania FALSE     Albanian     Albanian              
207 Albania FALSE     Albanian     Albanian              
208 Albania FALSE     Albanian     Albanian              
209 Albania FALSE     Albanian     Albanian              
210 Albania FALSE     Albanian     Albanian              
211 Albania FALSE     Albanian     Albanian              
212 Albania FALSE     Albanian     Albanian              
213 Albania FALSE     Albanian     Albanian              
214 Albania TRUE      Albanian     Another language (ALB)
215 Albania TRUE      Albanian     Missing               
216 Albania FALSE     Albanian     Albanian              
217 Albania TRUE      Albanian     Missing               
218 Albania FALSE     Albanian     Albanian              
219 Albania NA        <NA>         Missing               
220 Albania FALSE     Albanian     Albanian              
221 Albania FALSE     Albanian     Albanian              
222 Albania FALSE     Albanian     Albanian              
223 Albania FALSE     Albanian     Albanian              
224 Albania FALSE     Albanian     Albanian              
225 Albania FALSE     Albanian     Albanian              
226 Albania TRUE      Albanian     Another language (ALB)
227 Albania FALSE     Albanian     Albanian              
228 Albania TRUE      Albanian     Missing               
229 Albania FALSE     Albanian     Albanian              
230 Albania FALSE     Albanian     Albanian              
231 Albania FALSE     Albanian     Albanian              
232 Albania FALSE     Albanian     Albanian              
233 Albania FALSE     Albanian     Albanian              
234 Albania NA        <NA>         Missing               
235 Albania FALSE     Albanian     Albanian              
236 Albania FALSE     Albanian     Albanian              
237 Albania FALSE     Albanian     Albanian              
238 Albania FALSE     Albanian     Albanian              
239 Albania TRUE      Albanian     Missing               
240 Albania FALSE     Albanian     Albanian              
241 Albania FALSE     Albanian     Albanian              
242 Albania FALSE     Albanian     Albanian              
243 Albania FALSE     Albanian     Albanian              
244 Albania FALSE     Albanian     Albanian              
245 Albania FALSE     Albanian     Albanian              
246 Albania TRUE      Albanian     Another language (ALB)
247 Albania FALSE     Albanian     Albanian              
248 Albania FALSE     Albanian     Albanian              
249 Albania FALSE     Albanian     Albanian              
250 Albania FALSE     Albanian     Albanian              
251 Albania FALSE     Albanian     Albanian              
252 Albania TRUE      Albanian     Another language (ALB)
253 Albania FALSE     Albanian     Albanian              
254 Albania FALSE     Albanian     Albanian              
255 Albania FALSE     Albanian     Albanian              
256 Albania TRUE      Albanian     Missing               
257 Albania FALSE     Albanian     Albanian              
258 Albania FALSE     Albanian     Albanian              
259 Albania FALSE     Albanian     Albanian              
260 Albania TRUE      Albanian     Missing               
261 Albania FALSE     Albanian     Albanian              
262 Albania TRUE      Albanian     Missing               
263 Albania FALSE     Albanian     Albanian              
264 Albania FALSE     Albanian     Albanian              
265 Albania TRUE      Albanian     Missing               
266 Albania FALSE     Albanian     Albanian              
267 Albania FALSE     Albanian     Albanian              
268 Albania TRUE      Albanian     Missing               
269 Albania FALSE     Albanian     Albanian              
270 Albania FALSE     Albanian     Albanian              
271 Albania TRUE      Albanian     Missing               
272 Albania FALSE     Albanian     Albanian              
273 Albania FALSE     Albanian     Albanian              
274 Albania FALSE     Albanian     Albanian              
275 Albania FALSE     Albanian     Albanian              
276 Albania FALSE     Albanian     Albanian              
277 Albania FALSE     Albanian     Albanian              
278 Albania FALSE     Albanian     Albanian              
279 Albania FALSE     Albanian     Albanian              
280 Albania FALSE     Albanian     Albanian              
281 Albania FALSE     Albanian     Albanian              
282 Albania FALSE     Albanian     Albanian              
283 Albania FALSE     Albanian     Albanian              
284 Albania FALSE     Albanian     Albanian              
285 Albania FALSE     Albanian     Albanian              
286 Albania FALSE     Albanian     Albanian              
287 Albania FALSE     Albanian     Albanian              
288 Albania FALSE     Albanian     Albanian              
289 Albania FALSE     Albanian     Albanian              
290 Albania FALSE     Albanian     Albanian              
291 Albania FALSE     Albanian     Albanian              
292 Albania FALSE     Albanian     Albanian              
293 Albania FALSE     Albanian     Albanian              
294 Albania FALSE     Albanian     Albanian              
295 Albania FALSE     Albanian     Albanian              
296 Albania FALSE     Albanian     Albanian              
297 Albania FALSE     Albanian     Albanian              
298 Albania FALSE     Albanian     Albanian              
299 Albania FALSE     Albanian     Albanian              
300 Albania FALSE     Albanian     Albanian              
301 Albania TRUE      Albanian     Another language (ALB)
302 Albania FALSE     Albanian     Albanian              
303 Albania FALSE     Albanian     Albanian              
304 Albania FALSE     Albanian     Albanian              
305 Albania FALSE     Albanian     Albanian              
306 Albania TRUE      Albanian     Another language (ALB)
307 Albania TRUE      Albanian     Another language (ALB)
308 Albania FALSE     Albanian     Albanian              
309 Albania NA        <NA>         Missing               
310 Albania FALSE     Albanian     Albanian              
311 Albania FALSE     Albanian     Albanian              
312 Albania FALSE     Albanian     Albanian              
313 Albania FALSE     Albanian     Albanian              
314 Albania FALSE     Albanian     Albanian              
315 Albania FALSE     Albanian     Albanian              
316 Albania FALSE     Albanian     Albanian              
317 Albania FALSE     Albanian     Albanian              
318 Albania FALSE     Albanian     Albanian              
319 Albania FALSE     Albanian     Albanian              
320 Albania FALSE     Albanian     Albanian              
321 Albania FALSE     Albanian     Albanian              
322 Albania FALSE     Albanian     Albanian              
323 Albania FALSE     Albanian     Albanian              
324 Albania NA        <NA>         Missing               
325 Albania NA        <NA>         Missing               
326 Albania FALSE     Albanian     Albanian              
327 Albania TRUE      Albanian     Missing               
328 Albania FALSE     Albanian     Albanian              
329 Albania FALSE     Albanian     Albanian              
330 Albania FALSE     Albanian     Albanian              
331 Albania FALSE     Albanian     Albanian              
332 Albania NA        <NA>         Missing               
333 Albania FALSE     Albanian     Albanian              
334 Albania FALSE     Albanian     Albanian              
335 Albania FALSE     Albanian     Albanian              
336 Albania FALSE     Albanian     Albanian              
337 Albania FALSE     Albanian     Albanian              
338 Albania FALSE     Albanian     Albanian              
339 Albania FALSE     Albanian     Albanian              
340 Albania FALSE     Albanian     Albanian              
341 Albania FALSE     Albanian     Albanian              
342 Albania FALSE     Albanian     Albanian              
343 Albania FALSE     Albanian     Albanian              
344 Albania FALSE     Albanian     Albanian              
345 Albania FALSE     Albanian     Albanian              
346 Albania TRUE      Albanian     Missing               
347 Albania TRUE      Albanian     Missing               
348 Albania FALSE     Albanian     Albanian              
349 Albania TRUE      Albanian     Another language (ALB)
350 Albania FALSE     Albanian     Albanian              
351 Albania FALSE     Albanian     Albanian              
352 Albania FALSE     Albanian     Albanian              
353 Albania TRUE      Albanian     Missing               
354 Albania FALSE     Albanian     Albanian              
355 Albania FALSE     Albanian     Albanian              
356 Albania FALSE     Albanian     Albanian              
357 Albania FALSE     Albanian     Albanian              
358 Albania FALSE     Albanian     Albanian              
359 Albania FALSE     Albanian     Albanian              
360 Albania FALSE     Albanian     Albanian              
361 Albania FALSE     Albanian     Albanian              
362 Albania FALSE     Albanian     Albanian              
363 Albania FALSE     Albanian     Albanian              
364 Albania FALSE     Albanian     Albanian              
365 Albania TRUE      Albanian     Another language (ALB)
366 Albania FALSE     Albanian     Albanian              
367 Albania FALSE     Albanian     Albanian              
368 Albania FALSE     Albanian     Albanian              
369 Albania FALSE     Albanian     Albanian              
370 Albania FALSE     Albanian     Albanian              
371 Albania NA        <NA>         Missing               
372 Albania FALSE     Albanian     Albanian              
373 Albania FALSE     Albanian     Albanian              
374 Albania FALSE     Albanian     Albanian              
375 Albania FALSE     Albanian     Albanian              
376 Albania FALSE     Albanian     Albanian              
377 Albania FALSE     Albanian     Albanian              
378 Albania FALSE     Albanian     Albanian              
379 Albania TRUE      Albanian     Missing               
380 Albania FALSE     Albanian     Albanian              
381 Albania FALSE     Albanian     Albanian              
382 Albania FALSE     Albanian     Albanian              
383 Albania FALSE     Albanian     Albanian              
384 Albania FALSE     Albanian     Albanian              
385 Albania FALSE     Albanian     Albanian              
386 Albania FALSE     Albanian     Albanian              
387 Albania FALSE     Albanian     Albanian              
388 Albania FALSE     Albanian     Albanian              
389 Albania FALSE     Albanian     Albanian              
390 Albania FALSE     Albanian     Albanian              
391 Albania FALSE     Albanian     Albanian              
392 Albania FALSE     Albanian     Albanian              
393 Albania FALSE     Albanian     Albanian              
394 Albania FALSE     Albanian     Albanian              
395 Albania TRUE      Albanian     Missing               
396 Albania FALSE     Albanian     Albanian              
397 Albania TRUE      Albanian     Missing               
398 Albania FALSE     Albanian     Albanian              
399 Albania NA        <NA>         Missing               
400 Albania FALSE     Albanian     Albanian              
401 Albania TRUE      Albanian     Another language (ALB)
402 Albania FALSE     Albanian     Albanian              
403 Albania TRUE      Albanian     Another language (ALB)
404 Albania FALSE     Albanian     Albanian              
405 Albania FALSE     Albanian     Albanian              
406 Albania TRUE      Albanian     Another language (ALB)
407 Albania FALSE     Albanian     Albanian              
408 Albania FALSE     Albanian     Albanian              
409 Albania FALSE     Albanian     Albanian              
410 Albania FALSE     Albanian     Albanian              
411 Albania FALSE     Albanian     Albanian              
412 Albania FALSE     Albanian     Albanian              
413 Albania FALSE     Albanian     Albanian              
414 Albania FALSE     Albanian     Albanian              
415 Albania FALSE     Albanian     Albanian              
416 Albania FALSE     Albanian     Albanian              
417 Albania FALSE     Albanian     Albanian              
418 Albania TRUE      Albanian     Missing               
419 Albania FALSE     Albanian     Albanian              
420 Albania FALSE     Albanian     Albanian              
421 Albania FALSE     Albanian     Albanian              
422 Albania FALSE     Albanian     Albanian              
423 Albania FALSE     Albanian     Albanian              
424 Albania FALSE     Albanian     Albanian              
425 Albania TRUE      Albanian     Missing               
426 Albania TRUE      Albanian     Missing               
427 Albania FALSE     Albanian     Albanian              
428 Albania FALSE     Albanian     Albanian              
429 Albania FALSE     Albanian     Albanian              
430 Albania FALSE     Albanian     Albanian              
431 Albania FALSE     Albanian     Albanian              
432 Albania FALSE     Albanian     Albanian              
433 Albania FALSE     Albanian     Albanian              
434 Albania FALSE     Albanian     Albanian              
435 Albania TRUE      Albanian     Missing               
436 Albania FALSE     Albanian     Albanian              
437 Albania FALSE     Albanian     Albanian              
438 Albania FALSE     Albanian     Albanian              
439 Albania TRUE      Albanian     Another language (ALB)
440 Albania FALSE     Albanian     Albanian              
441 Albania FALSE     Albanian     Albanian              
442 Albania FALSE     Albanian     Albanian              
443 Albania FALSE     Albanian     Albanian              
444 Albania FALSE     Albanian     Albanian              
445 Albania FALSE     Albanian     Albanian              
446 Albania FALSE     Albanian     Albanian              
447 Albania FALSE     Albanian     Albanian              
448 Albania FALSE     Albanian     Albanian              
449 Albania FALSE     Albanian     Albanian              
450 Albania FALSE     Albanian     Albanian              
451 Albania FALSE     Albanian     Albanian              
452 Albania FALSE     Albanian     Albanian              
453 Albania FALSE     Albanian     Albanian              
454 Albania FALSE     Albanian     Albanian              
455 Albania FALSE     Albanian     Albanian              
456 Albania FALSE     Albanian     Albanian              
457 Albania FALSE     Albanian     Albanian              
458 Albania FALSE     Albanian     Albanian              
459 Albania FALSE     Albanian     Albanian              
460 Albania FALSE     Albanian     Albanian              
461 Albania FALSE     Albanian     Albanian              
462 Albania FALSE     Albanian     Albanian              
463 Albania FALSE     Albanian     Albanian              
464 Albania FALSE     Albanian     Albanian              
465 Albania FALSE     Albanian     Albanian              
466 Albania FALSE     Albanian     Albanian              
467 Albania FALSE     Albanian     Albanian              
468 Albania FALSE     Albanian     Albanian              
469 Albania FALSE     Albanian     Albanian              
470 Albania TRUE      Albanian     Another language (ALB)
471 Albania FALSE     Albanian     Albanian              
472 Albania FALSE     Albanian     Albanian              
473 Albania FALSE     Albanian     Albanian              
474 Albania FALSE     Albanian     Albanian              
475 Albania FALSE     Albanian     Albanian              
476 Albania FALSE     Albanian     Albanian              
477 Albania FALSE     Albanian     Albanian              
478 Albania FALSE     Albanian     Albanian              
479 Albania FALSE     Albanian     Albanian              
480 Albania FALSE     Albanian     Albanian              
481 Albania FALSE     Albanian     Albanian              
482 Albania TRUE      Albanian     Another language (ALB)
483 Albania FALSE     Albanian     Albanian              
484 Albania FALSE     Albanian     Albanian              
485 Albania FALSE     Albanian     Albanian              
486 Albania FALSE     Albanian     Albanian              
487 Albania TRUE      Albanian     Another language (ALB)
488 Albania FALSE     Albanian     Albanian              
489 Albania FALSE     Albanian     Albanian              
490 Albania FALSE     Albanian     Albanian              
491 Albania FALSE     Albanian     Albanian              
492 Albania FALSE     Albanian     Albanian              
493 Albania FALSE     Albanian     Albanian              
494 Albania FALSE     Albanian     Albanian              
495 Albania FALSE     Albanian     Albanian              
496 Albania FALSE     Albanian     Albanian              
497 Albania FALSE     Albanian     Albanian              
498 Albania FALSE     Albanian     Albanian              
499 Albania FALSE     Albanian     Albanian              
500 Albania FALSE     Albanian     Albanian              
# ℹ 613,244 more rows

We can now look at this dataset to get an idea of which countries have the largest percentage of students learning in a language other than their mother tongue:

lang_data_diff <- lang_data %>% 
  group_by(CNT) %>%
  mutate(student_n = n()) %>%
  group_by(CNT, lang_diff) %>%
  summarise(n = n(),
            percentage = 100*(n / max(student_n))) %>%
    filter(!is.na(lang_diff),
         lang_diff == TRUE)

print(lang_data_diff)
# A tibble: 80 × 4
# Groups:   CNT [80]
   CNT                          lang_diff     n percentage
   <fct>                        <lgl>     <int>      <dbl>
 1 Albania                      TRUE        720     11.7  
 2 United Arab Emirates         TRUE      13933     56.6  
 3 Argentina                    TRUE        788      6.51 
 4 Australia                    TRUE       1827     13.6  
 5 Austria                      TRUE       1455     23.7  
 6 Belgium                      TRUE       2445     29.5  
 7 Bulgaria                     TRUE        961     15.7  
 8 Brazil                       TRUE        559      5.18 
 9 Brunei Darussalam            TRUE       4831     86.6  
10 Canada                       TRUE       5971     25.9  
11 Switzerland                  TRUE       4664     68.3  
12 Chile                        TRUE        170      2.62 
13 Colombia                     TRUE        203      2.60 
14 Costa Rica                   TRUE        165      2.70 
15 Czech Republic               TRUE        514      6.08 
16 Germany                      TRUE       1095     17.9  
17 Denmark                      TRUE        959     15.5  
18 Dominican Republic           TRUE        449      6.54 
19 Spain                        TRUE       4782     15.5  
20 Estonia                      TRUE        386      6.04 
21 Finland                      TRUE       2086     20.4  
22 France                       TRUE       1073     15.8  
23 United Kingdom               TRUE       1966     15.2  
24 Georgia                      TRUE        731     11.1  
25 Greece                       TRUE        501      7.82 
26 Guatemala                    TRUE        543     10.5  
27 Hong Kong (China)            TRUE       5626     95.2  
28 Croatia                      TRUE        200      3.26 
29 Hungary                      TRUE        152      2.45 
30 Indonesia                    TRUE       7131     53.1  
31 Ireland                      TRUE        707     12.7  
32 Iceland                      TRUE        341     10.1  
33 Israel                       TRUE        821     13.1  
34 Italy                        TRUE       2665     25.3  
35 Jamaica                      TRUE        365      9.42 
36 Jordan                       TRUE        647      8.30 
37 Japan                        TRUE         66      1.15 
38 Kazakhstan                   TRUE       2550     12.9  
39 Cambodia                     TRUE        252      4.77 
40 Korea                        TRUE         58      0.899
41 Kosovo                       TRUE        279      4.63 
42 Lithuania                    TRUE        590      8.13 
43 Latvia                       TRUE        535      9.96 
44 Macao (China)                TRUE       4384    100    
45 Morocco                      TRUE       6024     87.7  
46 Republic of Moldova          TRUE        589      9.45 
47 Mexico                       TRUE        170      2.70 
48 North Macedonia              TRUE        543      8.21 
49 Malta                        TRUE       2441     78.1  
50 Montenegro                   TRUE       5596     96.6  
51 Mongolia                     TRUE        338      4.83 
52 Malaysia                     TRUE       2345     33.2  
53 Netherlands                  TRUE        700     13.9  
54 Norway                       TRUE       6611    100    
55 New Zealand                  TRUE        836     17.9  
56 Panama                       TRUE        514     11.3  
57 Peru                         TRUE        441      6.33 
58 Philippines                  TRUE       6693     93.0  
59 Poland                       TRUE        168      2.79 
60 Portugal                     TRUE        371      5.46 
61 Paraguay                     TRUE       2296     45.2  
62 Palestinian Authority        TRUE        695      8.79 
63 Qatar                        TRUE       3175     41.4  
64 Baku (Azerbaijan)            TRUE       6840     88.6  
65 Ukrainian regions (18 of 27) TRUE       3747     96.7  
66 Romania                      TRUE        266      3.61 
67 Saudi Arabia                 TRUE        627      9.05 
68 Singapore                    TRUE       6567     99.4  
69 El Salvador                  TRUE        187      2.79 
70 Serbia                       TRUE        227      3.54 
71 Slovak Republic              TRUE        609     10.5  
72 Slovenia                     TRUE        970     14.4  
73 Sweden                       TRUE       1192     19.6  
74 Chinese Taipei               TRUE       5821     99.4  
75 Thailand                     TRUE       3104     36.5  
76 Türkiye                      TRUE        630      8.69 
77 Uruguay                      TRUE        327      4.94 
78 United States                TRUE        890     19.6  
79 Uzbekistan                   TRUE       1058     14.5  
80 Viet Nam                     TRUE        400      6.59 

This looks like a promising dataset, but there are some strange results:

lang_data_diff %>% filter(percentage > 92)
# A tibble: 8 × 4
# Groups:   CNT [8]
  CNT                          lang_diff     n percentage
  <fct>                        <lgl>     <int>      <dbl>
1 Hong Kong (China)            TRUE       5626       95.2
2 Macao (China)                TRUE       4384      100  
3 Montenegro                   TRUE       5596       96.6
4 Norway                       TRUE       6611      100  
5 Philippines                  TRUE       6693       93.0
6 Ukrainian regions (18 of 27) TRUE       3747       96.7
7 Singapore                    TRUE       6567       99.4
8 Chinese Taipei               TRUE       5821       99.4

Exploring data for Ukraine, we can see that a different spelling has been used in each field, Ukrainian and Ukranain, an incorrect spelling.

lang_data %>% filter(CNT == "Ukrainian regions (18 of 27)")
# A tibble: 3,876 × 4
    CNT                          lang_diff LANGTEST_QQQ LANGN                   
    <fct>                        <lgl>     <fct>        <fct>                   
  1 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
  2 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
  3 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
  4 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
  5 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
  6 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
  7 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
  8 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
  9 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 10 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 11 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 12 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 13 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 14 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 15 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 16 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 17 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 18 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
 19 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 20 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 21 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 22 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 23 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 24 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 25 Ukrainian regions (18 of 27) TRUE      Ukranian     Another language (UKR)  
 26 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 27 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 28 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 29 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 30 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 31 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 32 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 33 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 34 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 35 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 36 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 37 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 38 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 39 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 40 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 41 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 42 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 43 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 44 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 45 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 46 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 47 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
 48 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 49 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 50 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 51 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 52 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 53 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 54 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 55 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 56 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 57 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 58 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 59 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 60 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 61 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 62 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 63 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 64 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 65 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 66 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 67 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 68 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 69 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 70 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 71 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 72 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 73 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 74 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 75 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 76 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 77 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 78 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 79 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 80 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 81 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 82 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 83 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 84 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 85 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 86 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 87 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 88 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 89 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 90 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 91 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 92 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 93 Ukrainian regions (18 of 27) TRUE      Ukranian     Another language (UKR)  
 94 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
 95 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 96 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 97 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
 98 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
 99 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
100 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
101 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
102 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
103 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
104 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
105 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
106 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
107 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
108 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
109 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
110 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
111 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
112 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
113 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
114 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
115 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
116 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
117 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
118 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
119 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
120 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
121 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
122 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
123 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
124 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
125 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
126 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
127 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
128 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
129 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
130 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
131 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
132 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
133 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
134 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
135 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
136 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
137 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
138 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
139 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
140 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
141 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
142 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
143 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
144 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
145 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
146 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
147 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
148 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
149 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
150 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
151 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
152 Ukrainian regions (18 of 27) TRUE      Ukranian     Romani                  
153 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
154 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
155 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
156 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
157 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
158 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
159 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
160 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
161 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
162 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
163 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
164 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
165 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
166 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
167 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
168 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
169 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
170 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
171 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
172 Ukrainian regions (18 of 27) TRUE      Ukranian     Another language (UKR)  
173 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
174 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
175 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
176 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
177 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
178 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
179 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
180 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
181 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
182 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
183 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
184 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
185 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
186 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
187 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
188 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
189 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
190 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
191 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
192 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
193 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
194 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
195 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
196 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
197 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
198 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
199 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
200 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
201 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
202 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
203 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
204 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
205 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
206 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
207 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
208 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
209 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
210 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
211 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
212 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
213 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
214 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
215 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
216 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
217 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
218 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
219 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
220 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
221 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
222 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
223 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
224 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
225 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
226 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
227 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
228 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
229 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
230 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
231 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
232 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
233 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
234 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
235 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
236 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
237 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
238 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
239 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
240 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
241 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
242 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
243 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
244 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
245 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
246 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
247 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
248 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
249 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
250 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
251 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
252 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
253 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
254 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
255 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
256 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
257 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
258 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
259 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
260 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
261 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
262 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
263 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
264 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
265 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
266 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
267 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
268 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
269 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
270 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
271 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
272 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
273 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
274 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
275 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
276 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
277 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
278 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
279 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
280 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
281 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
282 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
283 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
284 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
285 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
286 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
287 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
288 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
289 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
290 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
291 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
292 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
293 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
294 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
295 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
296 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
297 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
298 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
299 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
300 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
301 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
302 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
303 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
304 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
305 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
306 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
307 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
308 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
309 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
310 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
311 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
312 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
313 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
314 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
315 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
316 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
317 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
318 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
319 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
320 Ukrainian regions (18 of 27) FALSE     Russian      Russian                 
321 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
322 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
323 Ukrainian regions (18 of 27) TRUE      Ukranian     Crimean Tatar Language …
324 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
325 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
326 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
327 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
328 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
329 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
330 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
331 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
332 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
333 Ukrainian regions (18 of 27) TRUE      Ukranian     Romani                  
334 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
335 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
336 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
337 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
338 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
339 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
340 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
341 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
342 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
343 Ukrainian regions (18 of 27) TRUE      Ukranian     Another language (UKR)  
344 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
345 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
346 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
347 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
348 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
349 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
350 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
351 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
352 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
353 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
354 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
355 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
356 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
357 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
358 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
359 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
360 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
361 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
362 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
363 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
364 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
365 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
366 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
367 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
368 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
369 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
370 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
371 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
372 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
373 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
374 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
375 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
376 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
377 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
378 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
379 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
380 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
381 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
382 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
383 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
384 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
385 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
386 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
387 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
388 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
389 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
390 Ukrainian regions (18 of 27) TRUE      Ukranian     Another language (UKR)  
391 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
392 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
393 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
394 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
395 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
396 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
397 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
398 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
399 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
400 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
401 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
402 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
403 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
404 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
405 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
406 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
407 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
408 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
409 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
410 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
411 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
412 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
413 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
414 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
415 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
416 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
417 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
418 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
419 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
420 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
421 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
422 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
423 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
424 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
425 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
426 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
427 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
428 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
429 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
430 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
431 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
432 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
433 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
434 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
435 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
436 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
437 Ukrainian regions (18 of 27) TRUE      Ukranian     Another language (UKR)  
438 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
439 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
440 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
441 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
442 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
443 Ukrainian regions (18 of 27) TRUE      Ukranian     Missing                 
444 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
445 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
446 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
447 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
448 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
449 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
450 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
451 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
452 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
453 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
454 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
455 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
456 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
457 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
458 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
459 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
460 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
461 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
462 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
463 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
464 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
465 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
466 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
467 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
468 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
469 Ukrainian regions (18 of 27) TRUE      Ukranian     Another language (UKR)  
470 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
471 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
472 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
473 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
474 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
475 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
476 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
477 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
478 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
479 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
480 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
481 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
482 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
483 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
484 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
485 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
486 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
487 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
488 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
489 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
490 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
491 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
492 Ukrainian regions (18 of 27) TRUE      Ukranian     Russian                 
493 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
494 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
495 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
496 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
497 Ukrainian regions (18 of 27) TRUE      Ukranian     Another language (UKR)  
498 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
499 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
500 Ukrainian regions (18 of 27) TRUE      Ukranian     Ukrainian               
# ℹ 3,376 more rows

ifelse can help here too. If we pick the spelling we want to stick to, we can recode fields to match:

lang_data %>% 
  mutate(LANGTEST_QQQ = 
           ifelse(as.character(LANGTEST_QQQ) == "Ukranian",
                 "Ukrainian",
                 as.character(LANGTEST_QQQ))) %>%
  mutate(lang_diff = 
           ifelse(as.character(LANGN) == as.character(LANGTEST_QQQ),
                  FALSE, 
                  TRUE)) %>%
  filter(CNT == "Ukrainian regions (18 of 27)")
# A tibble: 3,876 × 4
    CNT                          lang_diff LANGTEST_QQQ LANGN                   
    <fct>                        <lgl>     <chr>        <fct>                   
  1 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
  2 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
  3 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
  4 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
  5 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
  6 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
  7 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
  8 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
  9 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 10 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 11 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 12 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 13 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 14 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 15 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 16 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 17 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 18 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
 19 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 20 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 21 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 22 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 23 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 24 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 25 Ukrainian regions (18 of 27) TRUE      Ukrainian    Another language (UKR)  
 26 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 27 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 28 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 29 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 30 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 31 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 32 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 33 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 34 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 35 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 36 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 37 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 38 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 39 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 40 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 41 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 42 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 43 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 44 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 45 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 46 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 47 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
 48 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 49 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 50 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 51 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 52 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 53 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 54 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 55 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 56 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 57 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 58 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 59 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 60 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 61 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 62 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 63 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 64 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 65 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 66 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 67 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 68 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 69 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 70 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 71 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 72 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 73 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 74 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 75 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 76 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 77 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 78 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 79 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 80 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 81 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 82 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 83 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 84 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 85 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 86 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 87 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 88 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 89 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 90 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 91 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 92 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 93 Ukrainian regions (18 of 27) TRUE      Ukrainian    Another language (UKR)  
 94 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
 95 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 96 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 97 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
 98 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
 99 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
100 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
101 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
102 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
103 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
104 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
105 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
106 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
107 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
108 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
109 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
110 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
111 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
112 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
113 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
114 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
115 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
116 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
117 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
118 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
119 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
120 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
121 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
122 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
123 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
124 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
125 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
126 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
127 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
128 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
129 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
130 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
131 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
132 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
133 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
134 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
135 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
136 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
137 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
138 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
139 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
140 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
141 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
142 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
143 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
144 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
145 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
146 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
147 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
148 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
149 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
150 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
151 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
152 Ukrainian regions (18 of 27) TRUE      Ukrainian    Romani                  
153 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
154 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
155 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
156 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
157 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
158 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
159 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
160 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
161 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
162 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
163 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
164 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
165 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
166 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
167 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
168 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
169 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
170 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
171 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
172 Ukrainian regions (18 of 27) TRUE      Ukrainian    Another language (UKR)  
173 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
174 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
175 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
176 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
177 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
178 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
179 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
180 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
181 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
182 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
183 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
184 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
185 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
186 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
187 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
188 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
189 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
190 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
191 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
192 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
193 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
194 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
195 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
196 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
197 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
198 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
199 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
200 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
201 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
202 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
203 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
204 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
205 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
206 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
207 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
208 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
209 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
210 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
211 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
212 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
213 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
214 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
215 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
216 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
217 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
218 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
219 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
220 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
221 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
222 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
223 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
224 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
225 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
226 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
227 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
228 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
229 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
230 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
231 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
232 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
233 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
234 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
235 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
236 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
237 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
238 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
239 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
240 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
241 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
242 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
243 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
244 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
245 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
246 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
247 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
248 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
249 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
250 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
251 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
252 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
253 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
254 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
255 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
256 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
257 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
258 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
259 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
260 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
261 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
262 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
263 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
264 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
265 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
266 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
267 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
268 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
269 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
270 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
271 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
272 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
273 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
274 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
275 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
276 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
277 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
278 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
279 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
280 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
281 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
282 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
283 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
284 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
285 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
286 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
287 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
288 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
289 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
290 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
291 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
292 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
293 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
294 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
295 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
296 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
297 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
298 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
299 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
300 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
301 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
302 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
303 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
304 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
305 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
306 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
307 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
308 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
309 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
310 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
311 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
312 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
313 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
314 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
315 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
316 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
317 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
318 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
319 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
320 Ukrainian regions (18 of 27) FALSE     Russian      Russian                 
321 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
322 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
323 Ukrainian regions (18 of 27) TRUE      Ukrainian    Crimean Tatar Language …
324 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
325 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
326 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
327 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
328 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
329 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
330 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
331 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
332 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
333 Ukrainian regions (18 of 27) TRUE      Ukrainian    Romani                  
334 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
335 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
336 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
337 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
338 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
339 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
340 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
341 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
342 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
343 Ukrainian regions (18 of 27) TRUE      Ukrainian    Another language (UKR)  
344 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
345 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
346 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
347 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
348 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
349 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
350 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
351 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
352 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
353 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
354 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
355 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
356 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
357 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
358 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
359 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
360 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
361 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
362 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
363 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
364 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
365 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
366 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
367 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
368 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
369 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
370 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
371 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
372 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
373 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
374 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
375 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
376 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
377 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
378 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
379 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
380 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
381 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
382 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
383 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
384 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
385 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
386 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
387 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
388 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
389 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
390 Ukrainian regions (18 of 27) TRUE      Ukrainian    Another language (UKR)  
391 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
392 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
393 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
394 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
395 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
396 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
397 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
398 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
399 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
400 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
401 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
402 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
403 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
404 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
405 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
406 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
407 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
408 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
409 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
410 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
411 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
412 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
413 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
414 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
415 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
416 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
417 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
418 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
419 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
420 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
421 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
422 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
423 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
424 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
425 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
426 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
427 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
428 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
429 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
430 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
431 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
432 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
433 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
434 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
435 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
436 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
437 Ukrainian regions (18 of 27) TRUE      Ukrainian    Another language (UKR)  
438 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
439 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
440 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
441 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
442 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
443 Ukrainian regions (18 of 27) TRUE      Ukrainian    Missing                 
444 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
445 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
446 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
447 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
448 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
449 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
450 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
451 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
452 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
453 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
454 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
455 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
456 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
457 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
458 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
459 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
460 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
461 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
462 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
463 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
464 Ukrainian regions (18 of 27) NA        <NA>         Missing                 
465 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
466 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
467 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
468 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
469 Ukrainian regions (18 of 27) TRUE      Ukrainian    Another language (UKR)  
470 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
471 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
472 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
473 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
474 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
475 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
476 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
477 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
478 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
479 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
480 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
481 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
482 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
483 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
484 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
485 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
486 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
487 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
488 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
489 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
490 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
491 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
492 Ukrainian regions (18 of 27) TRUE      Ukrainian    Russian                 
493 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
494 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
495 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
496 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
497 Ukrainian regions (18 of 27) TRUE      Ukrainian    Another language (UKR)  
498 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
499 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
500 Ukrainian regions (18 of 27) FALSE     Ukrainian    Ukrainian               
# ℹ 3,376 more rows

Unfortunately, if you explore this dataset a little further, the language fields don’t conform well with each other and a lot more work with ifelse will be needed before you could put together any full analysis around students who speak different languages at home and at school.

Tip

It’s possible to nest our ifelse statements, by writing another ifelse where you would have the <value_if_false>, for example we might want to give describe the type of school in England:

# TODO: use PISA for this
plot_data <- schools %>% 
  mutate(sch_type = 
           ifelse(EstablishmentGroup == "Special schools", "Special",
                  ifelse(EstablishmentGroup == "Independent schools", "Independent",
                         ifelse(AdmissionsPolicy=="Selective", 
                                "Grammar", "Comprehensive"))))

8.2 Factors and statistical data types

The types of variable will heavily influence what statistical analysis you can perform, e.g. you’ll need numeric values for a t-test. R is there to help by assigning datatypes to each field. We have different sorts of data that can be stored:

  • Categorical - data that can be divided into groups or categories
    • Nominal - categorical data where the order isn’t important, e.g. gender, or colours
    • Ordinal - categorical data that may have order or ranking, e.g. exam grades (A, B, C, D) or Likert scales (strongly agree, agree, disgaree, strongly disagree)
  • Numeric - data that consists of numbers
    • Continuous - numeric data that can take any value within a given range, e.g. height (178cm, 134.54cm)
    • Discrete - numeric data that can take only certain values within a range, e.g. number of children in a family (0,1,2,3,4,5)

But here we are going to look at how R handles factors. Factors have two parts, levels and codes. levels are what you see when you view a table column, codes are an underlying order to the data. Factors allow you to store data that has a known set of values that you might want to display in an order other than alphabetical. For example, if we look at the month field ST003D02T using the levels(<field>) command:

levels(PISA_2022$ST003D02T)
 [1] "January"        "February"       "March"          "April"         
 [5] "May"            "June"           "July"           "August"        
 [9] "September"      "October"        "November"       "December"      
[13] "Valid Skip"     "Not Applicable" "Invalid"        "No Response"   

We can see that the months of the year are there along with other possible levels. With this particular column there are levels for missing or wrong responses (“Valid Skip”, “Not Applicable” “Invalid”, “No Response”), though PISA rarely uses them. You are more likely to find that missing/wrong data items are coded as NA, as you can see below:

PISA_2022 %>% count(ST003D02T)
# A tibble: 13 × 2
   ST003D02T     n
   <fct>     <int>
 1 January   48760
 2 February  43030
 3 March     48671
 4 April     47014
 5 May       49235
 6 June      48890
 7 July      51262
 8 August    51681
 9 September 51755
10 October   51703
11 November  48179
12 December  48156
13 <NA>      25408

Codes are the underlying numbers/order for each level, in this case 1 = January, 2 = February, etc. R stores factors as codes, then uses the levels to display the data. You can see the codes by using the as.numeric command on a factor:

as.numeric(PISA_2022$ST003D02T)
 [1]  5  2  8  7  1  5  5 12  8  9 10  4  5  8  7  2  3  6  3  8 10  1 10  2  5
[26]  6  8  1  3  2  5  7 12  4  1 10 10  3  3  9
 [ reached 'max' / getOption("max.print") -- omitted 613704 entries ]

How can this be useful? Firstly it’s more efficient for R to store data this way, numbers (codes) are smaller and easier to sort/search than text (levels). But it also helps when we come to presenting data. A good example is how plots are made, they will use the codes to give an order to the display of columns, in the plot below, February (2) comes before August (8), even though there were more students born in August and A is before F in the alphabet:

grph_data <- PISA_2022 %>% 
         group_by(ST003D02T) %>% 
         summarise(n=n())

grph_data %>% arrange(desc(n)) %>% pull(ST003D02T)
 [1] September October   August    July      May       June      January  
 [8] March     November  December  April     February  <NA>     
attr(,"label")
[1] Student (Standardized) Birth - Month
16 Levels: January February March April May June July August ... No Response
ggplot(data=grph_data, aes(x=ST003D02T, y=n)) + 
  geom_bar(stat = "identity") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

To re-order the columns to match the number of students in each month, we can either try to do this manually, which is rather cumbersome:

my_levels <- c("September", "October", "August", "July", "May", "June", 
               "January", "March", "November", "December", "April", "February",
               "Valid Skip", "Not Applicable", "Invalid", "No Response")

grph_data$ST003D02T <- factor(grph_data$ST003D02T, levels=my_levels)

ggplot(data=grph_data, aes(x=ST003D02T, y=n)) + 
  geom_bar(stat = "identity")+
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Or we can get R to do this for us:

# get the levels in order and pull/create a vector of them
my_levels <- grph_data %>% arrange(desc(n)) %>% pull(ST003D02T)

# reassign the re-ordered levels to the dataframe column
grph_data$ST003D02T <- factor(grph_data$ST003D02T, levels=my_levels)

ggplot(data=grph_data, aes(x=ST003D02T, y=n)) + 
  geom_bar(stat = "identity")

To learn a lot more about factors, see Hadley’s chapter

9 Seminar tasks

9.1 Student dataset

  1. How many unique values are there in the OCOD3 field for student intended future occupation? How does the most desired career vary by gender?
answer
PISA_2022$OCOD3 %>% unique() %>% length()

PISA_2022 %>% 
  group_by(ST004D01T, OCOD3) %>%
  summarise(n =n()) %>%
  arrange(desc(n))
  1. write code to work out the mean and median PV1MATH score for each country CNT.
answer
PISA_2022 %>% 
  group_by(CNT) %>%
  summarise(mean_PV1MATH = mean(PV1MATH, na.rm=TRUE),
            median_PV1MATH = median(PV1MATH, na.rm=TRUE)) %>%
  arrange(desc(median_PV1MATH))
  1. what is the fourth most popular language at home LANGN spoken by students in schools in the Ireland, how does this compare to Germany?
answer
PISA_2022 %>% 
  filter(CNT %in% c("Germany", "Ireland")) %>%
  group_by(CNT, LANGN) %>%
  summarise(n = n()) %>%
  arrange(desc(n))
  1. Spot the five errors with the following code. Can you make it work? What does it do?
# Work out when science scores are better than maths
PISA_2022_scimath < PISA_2022 %>%
  rename(gender = ST004D01T) %>%
  mutate(sci better = PV1SCIE - PV1MATH) %>%
  filter(is.na(scibetter) %>%
  group_by(CNT gender) %>%
  summarise(students = n,
            sci_win = sum(scibetter >= 0),
            per_scibetter = 100*(sci_win/students))
answer
# Work out when more time spent in language lessons than maths lessons
PISA_2022_scimath <- PISA_2022 %>%  #1 make sure you have the assignment arrow <-
  rename(gender = ST004D01T) %>%
  mutate(sci_better = PV1MATH - PV1SCIE) %>% #2 _ not space in name of field
  filter(!is.na(sci_better)) %>%  #3 this needs to be !is.na, otherwise it'll return nothing
  group_by(CNT, gender) %>% #4 missing comma
  summarise(students = n(),   #5 missing brackets on the n() command
            sci_win = sum(sci_better >= 0),
            per_sci_win = 100*(sci_win/students))
  1. By country and gender work out the mean, median and standard deviations of STUBMI, order by the descending mean.
answer
pisa_bmi <- PISA_2022 %>%
  rename(gender = ST004D01T) %>%
  group_by(CNT, gender) %>%
  summarise(n=n(),
            bmi_mean = mean(STUBMI, na.rm=TRUE),
            bmi_median = median(STUBMI, na.rm=TRUE),
            bmi_sd = sd(STUBMI, na.rm=TRUE)) %>%
  arrange(desc(bmi_mean))

9.2 Teacher dataset

To further check your understanding of this section you will be attempting to analyse the 2022 teacher dataset. This dataset includes records for 68054 teachers from 18 countries, including 544 columns, covering attitudinal, demographic and workplace data. You can find the dataset here in the .parquet format.

example loading code
# download the file then
# Work out when more time spent in language lessons than maths lessons
PISA_2022_teacher <- read_parquet("C:/Users/Peter/Downloads/PISA_2012_teacher.parquet")
  1. Work out how many teachers are in the dataset for Portugal
answer
PISA_2022_teacher %>% 
  group_by(CNTRYID) %>%
  summarise(n=n()) %>%
  filter(CNTRYID == "Portugal")
  1. For each country CNTRYID by gender TC001Q01NA, what is the mean time that a teacher has been in the teaching profession TC007Q02NA? Include the number of teachers in each group. Order this to show the country with the longest serving workforce:
answer
PISA_2022_teacher %>%
  group_by(CNTRYID, TC001Q01NA) %>%
  summarise(avg_years = mean(TC007Q02NA, na.rm=TRUE),
            n = n()) %>%
  arrange(desc(avg_years))
  1. For each country CNT find out which teachers report that they ‘Help students think critically’ TC199Q07HA. Hin: you’ll need to look at the levels of this question to find the correct filter:
answer
crit_thinking <- PISA_2022_teacher %>% 
  rename(crit_think = TC199Q07HA) %>%
  group_by(CNT) %>%
  mutate(teachers=n()) %>%
  group_by(CNT, crit_think) %>%
  summarise(n = n(),
            per = n()/unique(teachers)) %>%
  arrange(desc(per)) %>%
  filter(crit_think == "A lot")

# interestingly the highest performing countries also 
# have some of the lowest scores in helping children 
# think critically. To plot this:

left_join(crit_thinking,
          PISA_2022 %>% group_by(CNT) %>% summarise(maths = mean(PV1MATH))) %>%
  ggplot(aes(x=per, y=maths)) + 
  geom_point() +
  geom_smooth()
  1. Explore the data on use of technology in the classroom TC169____
answer
PISA_2022_teacher %>% select(CNT, TC001Q01NA, starts_with("TC169"))
  1. Save the results of one of the above questions using write_csv().

  2. [EXTENSION] explore the dataset and find out some more interesting facts to share with your group