Geom_vline и purrr :: карта - PullRequest
       4

Geom_vline и purrr :: карта

0 голосов
/ 06 февраля 2020

У меня есть список фреймов данных, для которых я хочу построить поведение некоторых переменных, если фрейм данных не равен нулю.

$THA
   country year   cc_severe           cc ner_eop  ner_avg    resgdp    resgrowth
1      THA 1961 0.00000e+00 0.0000000000 20.9900 21.05844 12.507935  0.310608045
2      THA 1962 0.00000e+00 0.0000000000 20.8400 20.88011 13.723457  0.196996517
3      THA 1963 0.00000e+00 0.0000000000 20.8400 20.83008 14.449184  0.126389353
4      THA 1964 0.00000e+00 0.0000000000 20.8300 20.80000 15.495123  0.177893065
5      THA 1965 0.00000e+00 0.0000000000 20.8300 20.80000 15.865490  0.155952253
6      THA 1966 0.00000e+00 0.0000000000 20.7500 20.80000 17.065110  0.293541314
7      THA 1967 0.00000e+00 0.0000000000 20.8000 20.80000 17.608836  0.102192940
8      THA 1968 0.00000e+00 0.0000000000 20.8500 20.80000 16.543811  0.013089576
9      THA 1969 0.00000e+00 0.0000000000 20.9275 20.80000 14.443033 -0.038761359
10     THA 1970 0.00000e+00 0.0003742515 20.9275 20.80000 11.765581 -0.077557238
11     THA 1971 0.00000e+00 0.0000000000 20.9275 20.80000 10.708767 -0.043177538
12     THA 1972 0.00000e+00 0.0000000000 20.9275 20.80003 11.908049  0.222593699
13     THA 1973 0.00000e+00 0.0000000000 20.3750 20.61958 11.704180  0.252732339
14     THA 1975 0.00000e+00 0.0000000000 20.4000 20.37927 10.881043 -0.045138247
15     THA 1976 0.00000e+00 0.0000000000 20.4000 20.40010 10.300961  0.070718613
16     THA 1977 0.00000e+00 0.0000000000 20.4000 20.40010  9.005449  0.008453985
17     THA 1978 0.00000e+00 0.0000000000 20.3900 20.33610  8.319196  0.108068445
18     THA 1979 0.00000e+00 0.0000000000 20.4250 20.41894  6.474747 -0.082541309
19     THA 1981 0.00000e+00 0.0000000000 23.0000 21.82044  4.810734  0.110014064
20     THA 1982 0.00000e+00 0.0000000000 23.0000 23.00012  4.067645 -0.112172071
21     THA 1983 0.00000e+00 0.0000000000 23.0000 23.00012  3.885010  0.045208713
22     THA 1985 8.84017e-05 0.0000884017 26.6500 27.15889  5.449929  0.140323057
23     THA 1986 0.00000e+00 0.0000000000 26.1300 26.29888  6.299089  0.280488817
24     THA 1987 0.00000e+00 0.0000000000 25.0700 25.72280  7.675734  0.428872621
25     THA 1997 0.00000e+00 0.0000000000 47.2470 31.36433 17.432045 -0.306158600
26     THA 1998 3.09784e-04 0.0003097840 36.6910 41.35939 25.357270  0.101056327
27     THA 1999 0.00000e+00 0.0000000000 37.4700 37.81366 26.891210  0.181709356
28     THA 2000 0.00000e+00 0.0000000000 43.2676 40.11180 25.330555 -0.060094117
   ner_avg_growth CC.RR_first
1   -5.822645e-01           0
2   -8.468540e-01           0
3   -2.395892e-01           0
4   -1.444010e-01           0
5    0.000000e+00           0
6    0.000000e+00           0
7    0.000000e+00           0
8    0.000000e+00           0
9    0.000000e+00           0
10   0.000000e+00           0
11  -8.333163e-09           0
12   1.417018e-04           0
13  -8.675365e-01           0
14   2.044990e-02           0
15   1.022286e-01           0
16   0.000000e+00           0
17  -3.137255e-01           0
18   4.073236e-01           0
19   6.564109e+00           0
20   5.406272e+00           0
21   0.000000e+00           0
22   1.488837e+01           0
23  -3.166567e+00           0
24  -2.190535e+00           0
25   2.376091e+01           1
26   3.186758e+01           0
27  -8.572979e+00           0
28   6.077560e+00           1

$TUR
NULL


Все работает, кроме geom_vline. У меня есть фиктивный элемент в кадре данных, равный 1 через несколько лет, и я хотел бы добавить вертикальную линию к соответствующему году. Почему не появляется?

tf_idf %>%  
  map(~ if(!is.null(.x)){                                          # If not NULL, return list: plot the behaviour of nominal exchange rate growth,
 .x %>%                                             # normal index and severe index (scaled sd) and nominal exchange rate growth.
      ggplot(aes(year, group = 1)) +
      geom_line(aes(y = scale(ner_avg_growth), col = "NER Growth")) +
      geom_line(aes(y = scale(cc), col = "Normal Index")) +
      geom_line(aes(y = scale(cc_severe), col = "Severe Index")) +
      geom_vline(data = subset(.x, CC.RR_first == 1), # filter data source
      aes(xintercept = year),size = 2, colour = "red") +
      theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
      ylab("sd") +
      ggtitle(as.character(.x$country)) +
      theme(plot.title = element_text(hjust = 0.5))
  }
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...