Hi everyone,
I am using R to analyse the data published by PISA (http://www.oecd.org/pisa/ ).

I used summarise_at to to see the results of Math score:

```
pisa <- read_csv('PISA1.CSV')
df <- pisa %>% group_by(CNT) %>% summarise_at(vars(MATH), funs(mean, max, min, sd, n()) %>% arrange(desc(mean)
df
```

However, I got a message:

Error: unexpected symbol in:
"df <- pisa %>% group_by(CNT) %>% summarise_at(vars(MATH), funs(mean, max, min, sd, n()) %>% arrange(desc(mean)
df"

I'm sure it's a simple answer but I've spent too much time trying to figure it out and would appreciate some help very much!

rywhale
September 14, 2018, 12:52pm
2
I think the issue is the lack of a closing bracket after `arrange`

?

```
pisa <- read_csv('PISA1.CSV')
df <- pisa %>%
group_by(CNT) %>%
summarise_at(vars(MATH), funs(mean, max, min, sd, n()) %>%
arrange(desc(mean))
```

1 Like

Thank rywhale,

I try again, but it still doesn't work

rywhale
September 14, 2018, 3:44pm
4
Can you provide a link to the specific CSV you're using or post a small subset of the data here? The PISA website has a whole bunch of data so I'm not sure which set you're using.

mara
September 15, 2018, 11:51am
5
Couple possibilities (it's hard to tell exactly without a reproducible example) illustrated using a built-in dataset.

Yes for closing the parens to arrange, but also you can't pass `n`

to `summarise_at()`

when you've selected a numeric variable.

You also don't need the parens following the functions in `funs()`

.

```
library(tidyverse)
iris %>%
group_by(Species) %>%
summarise_at(vars(Petal.Length), funs(mean, max, min, sd)) %>%
arrange(desc(mean))
#> # A tibble: 3 x 5
#> Species mean max min sd
#> <fct> <dbl> <dbl> <dbl> <dbl>
#> 1 virginica 5.55 6.9 4.5 0.552
#> 2 versicolor 4.26 5.1 3 0.470
#> 3 setosa 1.46 1.9 1 0.174
iris %>%
group_by(Species) %>%
summarise(n = n())
#> # A tibble: 3 x 2
#> Species n
#> <fct> <int>
#> 1 setosa 50
#> 2 versicolor 50
#> 3 virginica 50
```

^{Created on 2018-09-15 by the reprex package (v0.2.1)}

1 Like