title: Dodged bar plot in R based on to columns with count Year with ggplot2
body: <p>I am trying to create a dodged bar plot with RStudio using ggplot2.</p>
  <p>I want to create number of years with &quot;Created.Date&quot; and &quot;Last.Acccessed&quot;. Something like this:
  <a href="https://i.stack.imgur.com/CDN78.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/CDN78.jpg" alt="enter image description here" /></a></p>
  <p>My data frame has the following headlines:</p>
  <ul>
  <li><p>File.Name</p>
  </li>
  <li><p>Created.Date</p>
  </li>
  <li><p>Last.Accessed</p>
  </li>
  <li><p>Visual.Group</p>
  </li>
  </ul>
  <p>First I need to remove duplicates (visual groups) and I have managed to do this. Now I need to count number of created date per year and number of last accessed per year.</p>
  <p>I've managed to extract Year from the data.</p>
  <pre><code># Libraries
  library(ggplot2)
  library(tidyverse) # function &quot;%&gt;%&quot;
  
  # Read data
  df = read.csv2(text = &quot;File.Name|Created.Date|Last.Accessed|Visual.Group
  60be1ba43bf7cjpg|1989-11-17 06:25:22|2017-07-15 01:25:22|0
  60be1ba43bf89jpg|1989-02-04 04:03:16|2021-12-17 04:03:16|1
  60be1ba43bf8djpg|2017-04-22 14:57:13|2017-11-17 23:57:13|2
  60be1ba43bf90jpg|2021-04-12 23:03:44|2018-11-17 05:03:44|3
  60be1ba43bf93jpg|2019-08-28 18:23:16|1989-09-07 12:23:16|4
  60be1ba43bf95jpg|1989-09-11 08:16:20|2020-03-17 10:16:20|5
  60be1ba43bf98jpg|2018-08-01 16:56:05|2017-04-24 03:56:05|5
  60be1ba43bf9bjpg|2017-06-23 19:01:37|1989-07-14 22:01:37|6
  60be1ba43bf9ejpg|2018-02-20 15:21:26|2020-02-01 18:21:26|7
  60be1ba43bfa1jpg|2021-12-10 08:34:09|2021-04-17 02:34:09|8
  60be1ba43bfa4jpg|2017-01-02 19:03:10|1989-11-16 14:03:10|9
  60be1ba43bfa6jpg|2017-04-28 15:50:33|2019-02-22 06:50:33|9
  60be1ba43bfd6jpg|2018-04-14 22:21:37|2021-08-28 14:21:37|9
  60be1ba43bfdajpg|2019-07-15 04:31:04|2017-07-11 04:31:04|10
  60be1ba43bfddjpg|2020-11-06 01:06:25|1989-08-16 09:06:25|10
  60be1ba43bfe0jpg|2021-08-05 06:38:07|2021-12-25 15:38:07|11
  60be1ba43bfe3jpg|2017-01-14 03:47:54|2020-08-03 20:47:54|12
  60be1ba43bfe6jpg|1989-11-26 17:33:01|2018-11-07 22:33:01|13
  60be1ba43bfe9jpg|2018-09-21 07:17:29|1989-10-05 03:17:29|14
  60be1ba43bfebjpg|2017-03-13 09:42:04|2020-08-23 11:42:04|14
  60be1ba43bfeejpg|2020-07-18 08:36:52|2018-10-04 12:36:52|15
  60be1ba43bff1jpg|2021-01-21 05:20:29|2019-04-28 03:20:29|16
  60be1ba43bff4jpg|2018-10-19 08:13:24|1989-10-16 18:13:24|17
  60be1ba43bff7jpg|2017-06-15 07:49:44|2021-05-11 01:49:44|18
  60be1ba43bff9jpg|2019-05-23 23:41:20|2019-08-26 13:41:20|18
  60be1ba43bffcjpg|1989-02-17 03:13:27|1989-11-20 16:13:27|19
  60be1ba43bfffjpg|2020-08-26 15:22:01|2018-08-21 17:22:01|20
  60be1ba43c001jpg|2020-12-21 05:22:03|2017-04-04 15:22:03|21
  60be1ba43c004jpg|2018-02-14 08:23:01|1989-03-26 06:23:01|21
  60be1ba43c007jpg|2018-10-25 08:19:18|2021-07-06 08:19:18|21
  60be1ba43c00ajpg|2017-11-28 07:22:03|2021-09-23 08:22:03|22
  60be1ba43c00cjpg|2019-11-19 17:12:02|2019-05-23 03:12:02|23
  60be1ba43c00fjpg|2017-02-26 00:43:21|2019-11-19 20:43:21|24
  60be1ba43c012jpg|2017-10-27 01:05:53|1989-03-14 02:05:53|25
  60be1ba43c015jpg|2019-06-18 08:06:07|1989-10-28 16:06:07|25
  60be1ba43c017jpg|2021-08-19 02:01:32|2020-05-28 03:01:32|25
  60be1ba43c01ajpg|2021-07-13 23:02:21|2017-07-05 03:02:21|25
  60be1ba43c01djpg|1989-05-14 02:51:23|2020-03-24 01:51:23|25
  60be1ba43c020jpg|2021-12-13 04:05:19|2021-04-16 03:05:19|25
  60be1ba43c023jpg|2019-03-26 23:42:25|2021-08-03 20:42:25|26
  60be1ba43c025jpg|1989-05-09 04:08:58|2019-10-23 00:08:58|26
  60be1ba43c028jpg|2018-08-11 00:48:32|2019-05-08 08:48:32|26
  60be1ba43c02bjpg|2018-07-14 08:38:02|2019-05-06 22:38:02|27
  60be1ba43c02ejpg|2020-03-06 19:13:14|2019-09-18 18:13:14|28
  60be1ba43c030jpg|1989-07-10 11:40:46|2019-08-03 01:40:46|28
  60be1ba43c033jpg|2021-12-11 02:23:44|2019-08-09 01:23:44|28
  60be1ba43c036jpg|2017-11-03 19:53:43|2021-02-13 17:53:43|29
  60be1ba43c038jpg|2017-02-07 02:45:47|2021-09-20 09:45:47|29
  60be1ba43c03bjpg|2020-07-28 20:56:59|2018-06-06 11:56:59|30
  60be1ba43c040jpg|2019-06-20 16:42:30|2020-01-02 00:42:30|31
  60be1ba43c042jpg|2020-05-27 03:39:41|2021-08-11 08:39:41|31
  60be1ba43c045jpg|2017-08-07 12:11:03|2017-12-15 20:11:03|32
  60be1ba43c048jpg|1989-04-28 01:19:49|2019-08-17 23:19:49|32
  60be1ba43c04bjpg|2017-08-26 22:07:51|2019-02-25 16:07:51|33
  60be1ba43c04djpg|1989-10-12 02:27:44|2020-11-10 22:27:44|34
  60be1ba43c050jpg|2021-08-18 09:01:48|2020-01-08 07:01:48|35
  60be1ba43c053jpg|2017-07-21 20:56:50|2018-02-24 20:56:50|36
  60be1ba43c056jpg|1989-05-13 11:23:09|2020-01-20 11:23:09|37
  60be1ba43c058jpg|2020-08-21 18:46:14|2017-04-14 10:46:14|37
  60be1ba43c05bjpg|2020-04-08 11:14:54|2020-12-02 00:14:54|38
  60be1ba43c05ejpg|2021-02-21 06:13:14|2018-08-21 03:13:14|38
  60be1ba43c060jpg|2018-06-28 04:36:20|2020-09-28 15:36:20|39
  60be1ba43c063jpg|2017-09-22 23:39:53|2021-05-27 20:39:53|39
  60be1ba43c065jpg|2018-05-09 16:54:13|2021-06-03 16:54:13|39
  60be1ba43c068jpg|2019-01-04 00:19:33|2017-05-18 08:19:33|40
  60be1ba43c06bjpg|2019-04-12 21:19:37|2017-06-23 04:19:37|40
  60be1ba43c06ejpg|2019-09-22 20:44:20|2021-10-23 12:44:20|40
  60be1ba43c070jpg|2021-10-23 07:57:35|2019-02-23 21:57:35|40
  60be1ba43c073jpg|2021-09-17 19:13:53|2020-05-27 06:13:53|40
  60be1ba43c075jpg|2017-08-13 23:06:53|2019-08-03 00:06:53|41
  60be1ba43c078jpg|2017-11-02 04:47:11|2018-07-05 03:47:11|42
  60be1ba43c07bjpg|2017-05-11 23:04:25|2021-09-22 04:04:25|42
  60be1ba43c07ejpg|2018-04-06 21:19:03|2021-09-16 21:19:03|42
  60be1ba43c080jpg|2019-03-16 01:56:36|2021-04-03 18:56:36|42
  60be1ba43c083jpg|2019-02-24 13:21:29|2019-10-28 09:21:29|43
  60be1ba43c086jpg|2020-03-08 10:50:00|2018-06-22 15:50:00|44
  60be1ba43c088jpg|1989-06-10 16:34:03|2020-11-10 18:34:03|45
  60be1ba43c08bjpg|2018-04-20 10:29:46|2021-01-24 08:29:46|46
  60be1ba43c08ejpg|2019-02-13 18:27:24|2021-10-16 07:27:24|47
  60be1ba43c090jpg|2019-09-16 21:54:43|2018-07-21 22:54:43|48
  60be1ba43c094jpg|2021-05-23 17:25:18|2019-06-18 00:25:18|49
  60be1ba43c097jpg|2020-09-15 06:42:26|2019-03-25 13:42:26|50
  60be1ba43c09ajpg|2020-05-02 20:14:35|2020-06-13 08:14:35|50
  60be1ba43c09djpg|1989-02-25 15:11:22|2017-08-28 03:11:22|51
  60be1ba43c09fjpg|2018-07-13 15:42:14|2019-02-23 14:42:14|52
  60be1ba43c0a2jpg|2020-09-09 08:58:49|2019-07-11 18:58:49|53
  60be1ba43c0a4jpg|1989-12-17 02:36:08|2021-10-04 10:36:08|54
  60be1ba43c0a7jpg|2020-03-11 08:41:55|2017-10-16 17:41:55|55
  60be1ba43c0aajpg|2020-12-18 19:59:08|2017-12-02 03:59:08|55
  60be1ba43c0adjpg|2019-06-20 09:48:27|2020-11-10 17:48:27|56
  60be1ba43c0b0jpg|2020-01-05 15:49:18|1989-11-27 05:49:18|56
  60be1ba43c0b2jpg|1989-06-23 23:50:52|2017-09-08 02:50:52|56
  60be1ba43c0b5jpg|2019-09-01 04:29:25|2020-10-25 00:29:25|56
  60be1ba43c0b8jpg|2020-08-08 07:08:47|2021-05-22 20:08:47|57
  60be1ba43c0bbjpg|2018-04-11 07:32:17|2018-06-21 12:32:17|58
  60be1ba43c0bdjpg|2021-05-26 08:32:28|1989-02-04 12:32:28|58
  60be1ba43c0c0jpg|1989-11-25 22:22:37|2019-07-16 04:22:37|58
  60be1ba43c0c4jpg|2018-02-03 10:37:57|2019-08-02 08:37:57|58
  60be1ba43c0c7jpg|2018-08-18 06:36:04|1989-03-17 08:36:04|58
  60be1ba43c0cajpg|2019-02-12 23:31:52|2020-06-17 13:31:52|59&quot;, 
                 sep=&quot;|&quot;,stringsAsFactors=TRUE, na.strings=&quot;unknown&quot;);
  </code></pre>
  <p>Code attempt:</p>
  <pre><code># Remove duplicates (Visual group defines duplicate)
  df &lt;-df[!duplicated(df$Visual.Group), ]
  
  # Extract year
  df$Created.Date.Year &lt;- format(as.Date(df$Created.Date, format=&quot;%Y-%m-%d&quot;), format=&quot;%Y&quot;);
  df$Last.Accessed.Year &lt;- format(as.Date(df$Last.Accessed, format=&quot;%Y-%m-%d&quot;), format=&quot;%Y&quot;);
  
  # Count
  
  # Plot as dodged bar plot
  ggplot(df1, aes(x=???, y=N)) + 
    geom_bar(aes(fill = ???), position = &quot;dodge&quot;, stat=&quot;identity&quot;) +
    theme_classic()
  </code></pre>