[R] Reg: Help regarding ggplot2

Upananda Pani
Tue, 02 May 2023 15:50:06 -0000

Hi Chrish,

I am grateful to you for your reply. Your code is working fine.
Moreover, you have guided me how to improve my knowledge, I appreciate
it. I will be very careful next time.
The data which i am working on is given below:

dput(head(data_vol3))
structure(list(index = structure(c(12786, 12787, 12788, 12789,
12790, 12793), tzone = "UTC", tclass = "Date", class =
"Date"),
    crepub = c(1.20601312, 1.176601845, 1.14945752, 1.112667506,
    1.076184043, 1.042147848), finland = c(0.614973309, 0.615008409,
    0.615034446, 0.615053761, 0.615068089, 0.615078717), france = c(1.896830857,
    1.849908737, 1.807150091, 1.763296422, 1.719573044, 1.690600819
    ), germany = c(3.01041925, 2.892518667, 2.780918603, 2.672356826,
    2.567306135, 2.479892045), italy = c(0.345659867, 0.345675874,
    0.345686934, 0.345694578, 0.34569986, 0.34570351), netherlands
c(0.509263785,
    0.509279495, 0.509289967, 0.509296947, 0.509301605, 0.509304705
    ), norway = c(1.052509528, 0.889357215, 0.784607722, 0.710551664,
    0.661473027, 0.629951323), poland = c(1.127163733, 1.12432629,
    1.087704091, 1.056705592, 1.024417693, 1.007962456), slovakia c(0.715652234,
    0.706087191, 0.706077173, 0.706104559, 0.70622666, 0.706098981
    ), slovenia = c(0.831886154, 0.831945994, 0.832003445, 0.832058602,
    0.832111556, 0.832162397), uk = c(1.504813191, 1.463648326,
    1.424235397, 1.38618692, 1.349628127, 1.318653737), usa = c(1.521675109,
    1.488286869, 1.451778376, 1.418378195, 1.384742397, 1.363477506
    )), row.names = c(NA, -6L), class = c("tbl_df", "tbl",
"data.frame"
))

As there are some countries which are having higher volatilities than
countries with lower, is there any suggestion to improve the graph?

Looking forward to your suggestion in this regard.

With sincere regards,
Upananda Pani


On Tue, May 2, 2023 at 6:14?PM Chris Evans <chrishold at psyctc.org>
wrote:
>
> I suspect that you have tried to pass your own data into the pivot_longer()
function and your data probably doesn't have the rowN variable.
>
> First try running the whole of what I sent you.  It definitively works for
me.  It gives me the attached graph.
>
> My code, using tribble() to read in the data you sent us, creates a rowN
variable to save me the trouble of deleting those row numbers one by one.  Then
I drop that variable with that select(-rowN) line.
>
> Assuming that works for you running my code on that tiny dataset, and that
you are trying to use the code on your full data frame, called data_vol3 then
try this:
>
> data_vol3 %>%
>   # select(-rowN) %>% # I have commented out this line
>   pivot_longer(cols = -index, # as you want to pivot the other
variables/columns
>                names_to = "countries") -> tibDataVol3Long
>
> ggplot(data = tibDataVol3Long,
>        aes(x = index, y = value, group = countries, colour = countries)) +
>   geom_line()
>
> This is a very good illustration of why you should supply data using
dput(data), dput(head(data)) if you have a large dataset. I know it doesn't
feel a very sympathetic piece of advice, but I think you need to spend some days
working on your understanding of R, ggplot and the tidyverse realm of R.  You
can use ggplot() without using much of the tidyverse but they are designed to
complement each other and the more I understand of the tidyverse way of doing
things, the better I use ggplot().
>
> On 02/05/2023 13:44, Upananda Pani wrote:
>
> Hi Chris,
>
> Thank for your solutions and time. I am getting the following error
> while trying to execute the code you suggested.
>
> Error in select(., -rowN) : unused argument (-rowN)
>
> Regards,
> Upananda
>
> On Tue, May 2, 2023 at 3:08?PM Chris Evans via R-help
> <r-help at r-project.org> wrote:
>
> It's not clear what you want but ...
>
> On 02/05/2023 10:57, Upananda Pani wrote:
>
> Dear All,
>
> I have a dataset which contains date and 12 other countries data. I
> have extracted the data as xts object.
>
> I am not able to recall all the series in the Y axis. My data set
> looks like this
>
> index crepub finland france germany italy netherlands norway poland
> <date> <dbl> <dbl> <dbl> <dbl> <dbl>
<dbl> <dbl> <dbl>
> 1 2005-01-03 1.21 0.615 1.90 3.01 0.346 0.509 1.05 1.13
> 2 2005-01-04 1.18 0.615 1.85 2.89 0.346 0.509 0.889 1.12
> 3 2005-01-05 1.15 0.615 1.81 2.78 0.346 0.509 0.785 1.09
> 4 2005-01-06 1.11 0.615 1.76 2.67 0.346 0.509 0.711 1.06
> 5 2005-01-07 1.08 0.615 1.72 2.57 0.346 0.509 0.661 1.02
> 6 2005-01-10 1.04 0.615 1.69 2.48 0.346 0.509 0.630 1.01
>
> My code for the same is as follows
>
> ggplot(data=data_vol3, aes(x=index, y=data_vol3$usa)+
> geom_line())
>
> Well you don't need to say that the y data are from data_vol3, your
data
> = declaration says that.
>
> I wonder if what you want is:
>
> library(tidyverse)
>
> tribble(
>    ~rowN, ~index, ~crepub, ~finland, ~france, ~germany, ~italy,
> ~netherlands, ~norway, ~poland,
>    1, "2005-01-03", 1.21, 0.615, 1.90, 3.01, 0.346, 0.509, 1.05,
1.13,
>    2, "2005-01-04", 1.18, 0.615, 1.85, 2.89, 0.346, 0.509, 0.889,
1.12,
>    3, "2005-01-05", 1.15, 0.615, 1.81, 2.78, 0.346, 0.509, 0.785,
1.09,
>    4, "2005-01-06", 1.11, 0.615, 1.76, 2.67, 0.346, 0.509, 0.711,
1.06,
>    5, "2005-01-07", 1.08, 0.615, 1.72, 2.57, 0.346, 0.509, 0.661,
1.02,
>    6, "2005-01-10", 1.04, 0.615, 1.69, 2.48, 0.346, 0.509, 0.630,
1.01)
> -> data_vol3
>
> ### please give us data using dput in future: saves us having to do
> something like that to reclaim it!
>
> ### pivot that longer to make it easy to get country data as separate lines
>
> data_vol3 %>%  select(-rowN) %>%
>    pivot_longer(cols = -index, # as you want to pivot the other
> variables/columns
>                 names_to = "countries") -> tibDataVol3Long
>
> ggplot(data = tibDataVol3Long,
>         aes(x = index, y = value,
>               ### now get the grouping and use it for a colour legend
>               group = countries, colour = countries)) +
>    geom_line()
>
> Any help in this regard will be highly appreciated
>
> With regards,
> Upananda Pani
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
> --
> Chris Evans (he/him)
> Visiting Professor, UDLA, Quito, Ecuador & Honorary Professor,
> University of Roehampton, London, UK.
> Work web site: https://www.psyctc.org/psyctc/
> CORE site: http://www.coresystemtrust.org.uk/
> Personal site: https://www.psyctc.org/pelerinage2016/
> Emeetings (Thursdays):
>
<https://www.psyctc.org/pelerinage2016/>https://www.psyctc.org/psyctc/booking-meetings-with-me/
> (Beware: French time, generally an hour ahead of UK)
> <https://ombook.psyctc.org/book>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
> --
> Chris Evans (he/him)
> Visiting Professor, UDLA, Quito, Ecuador & Honorary Professor,
University of Roehampton, London, UK.
> Work web site: https://www.psyctc.org/psyctc/
> CORE site: http://www.coresystemtrust.org.uk/
> Personal site: https://www.psyctc.org/pelerinage2016/
> Emeetings (Thursdays):
https://www.psyctc.org/psyctc/booking-meetings-with-me/
> (Beware: French time, generally an hour ahead of UK)