Нарисуйте репрезентативное подмножество стран в ggplot (набор данных панели) - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть набор данных панели 66 стран (сгруппированных по 4 географическим зонам c) и 16 лет.

Я хотел бы построить график сверхурочных времени моей зависимой переменной (поток ПИИ net), но, поскольку у меня слишком много стран, я хотел бы показать только репрезентативную выборку стран. Эквивалентно, я хотел бы исключить некоторые страны или построить только страны с самыми высокими ПИИ и страны с самыми низкими ПИИ).

Знаете ли вы, как я могу это сделать?

Это моя база данных

введите описание изображения здесь Я уже пробовал некоторые из этих кодов, чтобы исключить некоторые страны, но они не работают (и я предпочел бы напрямую создать подмножество)

graph <- ggplot(data = na.omit(compdata), aes(x = time, y = lnfdinet, group = country), na.rm=TRUE) 
graph + geom_line(na.rm = TRUE) + aes(color=namegeozone)
graph %+% subset(compdata, country %in% c("ALB"))

или

ggplot(data=compdata, aes(time, lnfdinet, group=country, colour=country)) + geom_line(data=function(x){x[!x$country %in% c("ALB", "ARG"), ]}, alpha=0.5) 

1 Ответ

1 голос
/ 18 апреля 2020

Почему бы не установить подмножество данных перед построением графика ??1001*

Что-то вроде

Dt=subset(compdata, country %in% c("ALB"))

И передать dt в ggplot

Как только ggplot сделано, поскольку объект больше не является фреймом данных, логика поднабора c в том виде, в котором она была применена, не работает.

...