Objective

The goal of this assignment is to EXTEND a Vignette of a classmate’s CREATE Vignette from the Tidyverse Assignment GitHub Repository.

EXTEND Vignette

For this assignment, I am going to EXTEND Atta Boateng’s Vignette. By extending the Vignette below, I will utilize ggplot to plot and customize the color of the plot based on the opening prices of other stock index types from the data.

Below is Atta Boateng’s Vignette:

“Using the data of stock data, I am going to demonstrate some of the capabilities of the tidyverse package. I start by first using the ggplot library to plot the opening prices of the New York Stock Exchange, noted by the symbol (NYA).” - Atta Boateng

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(openintro)
## Loading required package: airports
## Loading required package: cherryblossom
## Loading required package: usdata
dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",");
dd <- dd %>% filter(Index == "NYA" );

ggplot(data = dd, aes(x=as.Date(dd$Date) , y=as.numeric(dd$Open))) + geom_line()+ labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

“The ggplot function provides us with various graph options for our dataset. The function has a ‘data’ parameter and ‘mapping’ parameter. Additionally, witht the ‘+’ operators, one the include the type of graph they wish to plot.” - Atta Boateng

EXTEND alternate Index Types of Stocks

I extended Anna’s Vignette by plotting additional index type stocks and added colors to the plot to enhance data visualization.

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "HSI")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="red") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "GSPTSE")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="blue") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "NSEI")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="green") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "GDAXI")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="purple") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "KS11")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="orange") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "SSMI")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="darkgreen") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.
## Warning: Removed 1 row containing missing values (`geom_line()`).

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "TWII")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="lightpink") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "N225")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="lightblue") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

dd <- read.csv("https://raw.githubusercontent.com/attaboatengsr/DATA607/main/Week9/indexData.csv", sep=",")
dd <- dd %>% filter(Index == "N100")

ggplot(data = dd, aes(x=as.Date(dd$Date), y=as.numeric(dd$Open))) + 
  geom_line(color="hotpink") + 
  labs(x="Date", y="Opening Price")
## Warning in FUN(X[[i]], ...): NAs introduced by coercion

## Warning in FUN(X[[i]], ...): NAs introduced by coercion
## Warning: Use of `dd$Date` is discouraged.
## ℹ Use `Date` instead.
## Warning: Use of `dd$Open` is discouraged.
## ℹ Use `Open` instead.

LS0tDQp0aXRsZTogIlRpZHl2ZXJzZSBFWFRFTkQgQXNzaWdubWVudCINCmF1dGhvcjogIlB1amEgUm95Ig0KZGF0ZTogIjQvMjgvMjQiDQpvdXRwdXQ6IG9wZW5pbnRybzo6bGFiX3JlcG9ydA0KLS0tDQoNCiMjIyBPYmplY3RpdmUNCg0KVGhlIGdvYWwgb2YgdGhpcyBhc3NpZ25tZW50IGlzIHRvIEVYVEVORCBhIFZpZ25ldHRlIG9mIGEgY2xhc3NtYXRlJ3MgQ1JFQVRFIFZpZ25ldHRlIGZyb20gdGhlIFRpZHl2ZXJzZSBBc3NpZ25tZW50IEdpdEh1YiBSZXBvc2l0b3J5Lg0KDQoNCiMjIyBFWFRFTkQgVmlnbmV0dGUNCg0KRm9yIHRoaXMgYXNzaWdubWVudCwgSSBhbSBnb2luZyB0byBFWFRFTkQgQXR0YSBCb2F0ZW5nJ3MgVmlnbmV0dGUuIEJ5IGV4dGVuZGluZyB0aGUgVmlnbmV0dGUgYmVsb3csIEkgd2lsbCB1dGlsaXplIGdncGxvdCB0byBwbG90IGFuZCBjdXN0b21pemUgdGhlIGNvbG9yIG9mIHRoZSBwbG90IGJhc2VkIG9uIHRoZSBvcGVuaW5nIHByaWNlcyBvZiBvdGhlciBzdG9jayBpbmRleCB0eXBlcyBmcm9tIHRoZSBkYXRhLg0KDQpCZWxvdyBpcyBBdHRhIEJvYXRlbmcncyBWaWduZXR0ZToNCg0KIlVzaW5nIHRoZSBkYXRhIG9mIHN0b2NrIGRhdGEsIEkgYW0gZ29pbmcgdG8gZGVtb25zdHJhdGUgc29tZSBvZiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSB0aWR5dmVyc2UgcGFja2FnZS4gSSBzdGFydCBieSBmaXJzdCB1c2luZyB0aGUgZ2dwbG90IGxpYnJhcnkgdG8gcGxvdCB0aGUgb3BlbmluZyBwcmljZXMgb2YgdGhlIE5ldyBZb3JrIFN0b2NrIEV4Y2hhbmdlLCBub3RlZCBieSB0aGUgc3ltYm9sIChOWUEpLiIgLSBBdHRhIEJvYXRlbmcNCg0KYGBge3IgZWNobz1UUlVFLCByZXN1bHRzPSdhc2lzJ30NCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShvcGVuaW50cm8pDQoNCmRkIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXR0YWJvYXRlbmdzci9EQVRBNjA3L21haW4vV2VlazkvaW5kZXhEYXRhLmNzdiIsIHNlcD0iLCIpOw0KZGQgPC0gZGQgJT4lIGZpbHRlcihJbmRleCA9PSAiTllBIiApOw0KDQpnZ3Bsb3QoZGF0YSA9IGRkLCBhZXMoeD1hcy5EYXRlKGRkJERhdGUpICwgeT1hcy5udW1lcmljKGRkJE9wZW4pKSkgKyBnZW9tX2xpbmUoKSsgbGFicyh4PSJEYXRlIiwgeT0iT3BlbmluZyBQcmljZSIpDQoNCmBgYA0KDQoiVGhlIGdncGxvdCBmdW5jdGlvbiBwcm92aWRlcyB1cyB3aXRoIHZhcmlvdXMgZ3JhcGggb3B0aW9ucyBmb3Igb3VyIGRhdGFzZXQuIFRoZSBmdW5jdGlvbiBoYXMgYSAnZGF0YScgcGFyYW1ldGVyIGFuZCAnbWFwcGluZycgcGFyYW1ldGVyLiBBZGRpdGlvbmFsbHksIHdpdGh0IHRoZSAnKycgb3BlcmF0b3JzLCBvbmUgdGhlIGluY2x1ZGUgdGhlIHR5cGUgb2YgZ3JhcGggdGhleSB3aXNoIHRvIHBsb3QuIiAtIEF0dGEgQm9hdGVuZw0KDQojIyMgRVhURU5EIGFsdGVybmF0ZSBJbmRleCBUeXBlcyBvZiBTdG9ja3MNCg0KSSBleHRlbmRlZCBBbm5hJ3MgVmlnbmV0dGUgYnkgcGxvdHRpbmcgYWRkaXRpb25hbCBpbmRleCB0eXBlIHN0b2NrcyBhbmQgYWRkZWQgY29sb3JzIHRvIHRoZSBwbG90IHRvIGVuaGFuY2UgZGF0YSB2aXN1YWxpemF0aW9uLg0KYGBge3IgZWNobz1UUlVFLCByZXN1bHRzPSdhc2lzJ30NCmRkIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXR0YWJvYXRlbmdzci9EQVRBNjA3L21haW4vV2VlazkvaW5kZXhEYXRhLmNzdiIsIHNlcD0iLCIpDQpkZCA8LSBkZCAlPiUgZmlsdGVyKEluZGV4ID09ICJIU0kiKQ0KDQpnZ3Bsb3QoZGF0YSA9IGRkLCBhZXMoeD1hcy5EYXRlKGRkJERhdGUpLCB5PWFzLm51bWVyaWMoZGQkT3BlbikpKSArIA0KICBnZW9tX2xpbmUoY29sb3I9InJlZCIpICsgDQogIGxhYnMoeD0iRGF0ZSIsIHk9Ik9wZW5pbmcgUHJpY2UiKQ0KDQpgYGANCg0KYGBge3IgZWNobz1UUlVFLCByZXN1bHRzPSdhc2lzJ30NCmRkIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXR0YWJvYXRlbmdzci9EQVRBNjA3L21haW4vV2VlazkvaW5kZXhEYXRhLmNzdiIsIHNlcD0iLCIpDQpkZCA8LSBkZCAlPiUgZmlsdGVyKEluZGV4ID09ICJHU1BUU0UiKQ0KDQpnZ3Bsb3QoZGF0YSA9IGRkLCBhZXMoeD1hcy5EYXRlKGRkJERhdGUpLCB5PWFzLm51bWVyaWMoZGQkT3BlbikpKSArIA0KICBnZW9tX2xpbmUoY29sb3I9ImJsdWUiKSArIA0KICBsYWJzKHg9IkRhdGUiLCB5PSJPcGVuaW5nIFByaWNlIikNCg0KYGBgDQoNCmBgYHtyIGVjaG89VFJVRSwgcmVzdWx0cz0nYXNpcyd9DQpkZCA8LSByZWFkLmNzdigiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2F0dGFib2F0ZW5nc3IvREFUQTYwNy9tYWluL1dlZWs5L2luZGV4RGF0YS5jc3YiLCBzZXA9IiwiKQ0KZGQgPC0gZGQgJT4lIGZpbHRlcihJbmRleCA9PSAiTlNFSSIpDQoNCmdncGxvdChkYXRhID0gZGQsIGFlcyh4PWFzLkRhdGUoZGQkRGF0ZSksIHk9YXMubnVtZXJpYyhkZCRPcGVuKSkpICsgDQogIGdlb21fbGluZShjb2xvcj0iZ3JlZW4iKSArIA0KICBsYWJzKHg9IkRhdGUiLCB5PSJPcGVuaW5nIFByaWNlIikNCg0KYGBgDQoNCg0KYGBge3IgZWNobz1UUlVFLCByZXN1bHRzPSdhc2lzJ30NCmRkIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXR0YWJvYXRlbmdzci9EQVRBNjA3L21haW4vV2VlazkvaW5kZXhEYXRhLmNzdiIsIHNlcD0iLCIpDQpkZCA8LSBkZCAlPiUgZmlsdGVyKEluZGV4ID09ICJHREFYSSIpDQoNCmdncGxvdChkYXRhID0gZGQsIGFlcyh4PWFzLkRhdGUoZGQkRGF0ZSksIHk9YXMubnVtZXJpYyhkZCRPcGVuKSkpICsgDQogIGdlb21fbGluZShjb2xvcj0icHVycGxlIikgKyANCiAgbGFicyh4PSJEYXRlIiwgeT0iT3BlbmluZyBQcmljZSIpDQoNCmBgYA0KDQpgYGB7ciBlY2hvPVRSVUUsIHJlc3VsdHM9J2FzaXMnfQ0KZGQgPC0gcmVhZC5jc3YoImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9hdHRhYm9hdGVuZ3NyL0RBVEE2MDcvbWFpbi9XZWVrOS9pbmRleERhdGEuY3N2Iiwgc2VwPSIsIikNCmRkIDwtIGRkICU+JSBmaWx0ZXIoSW5kZXggPT0gIktTMTEiKQ0KDQpnZ3Bsb3QoZGF0YSA9IGRkLCBhZXMoeD1hcy5EYXRlKGRkJERhdGUpLCB5PWFzLm51bWVyaWMoZGQkT3BlbikpKSArIA0KICBnZW9tX2xpbmUoY29sb3I9Im9yYW5nZSIpICsgDQogIGxhYnMoeD0iRGF0ZSIsIHk9Ik9wZW5pbmcgUHJpY2UiKQ0KDQpgYGANCg0KYGBge3IgZWNobz1UUlVFLCByZXN1bHRzPSdhc2lzJ30NCmRkIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXR0YWJvYXRlbmdzci9EQVRBNjA3L21haW4vV2VlazkvaW5kZXhEYXRhLmNzdiIsIHNlcD0iLCIpDQpkZCA8LSBkZCAlPiUgZmlsdGVyKEluZGV4ID09ICJTU01JIikNCg0KZ2dwbG90KGRhdGEgPSBkZCwgYWVzKHg9YXMuRGF0ZShkZCREYXRlKSwgeT1hcy5udW1lcmljKGRkJE9wZW4pKSkgKyANCiAgZ2VvbV9saW5lKGNvbG9yPSJkYXJrZ3JlZW4iKSArIA0KICBsYWJzKHg9IkRhdGUiLCB5PSJPcGVuaW5nIFByaWNlIikNCg0KYGBgDQoNCg0KYGBge3IgZWNobz1UUlVFLCByZXN1bHRzPSdhc2lzJ30NCmRkIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXR0YWJvYXRlbmdzci9EQVRBNjA3L21haW4vV2VlazkvaW5kZXhEYXRhLmNzdiIsIHNlcD0iLCIpDQpkZCA8LSBkZCAlPiUgZmlsdGVyKEluZGV4ID09ICJUV0lJIikNCg0KZ2dwbG90KGRhdGEgPSBkZCwgYWVzKHg9YXMuRGF0ZShkZCREYXRlKSwgeT1hcy5udW1lcmljKGRkJE9wZW4pKSkgKyANCiAgZ2VvbV9saW5lKGNvbG9yPSJsaWdodHBpbmsiKSArIA0KICBsYWJzKHg9IkRhdGUiLCB5PSJPcGVuaW5nIFByaWNlIikNCg0KYGBgDQoNCg0KYGBge3IgZWNobz1UUlVFLCByZXN1bHRzPSdhc2lzJ30NCmRkIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXR0YWJvYXRlbmdzci9EQVRBNjA3L21haW4vV2VlazkvaW5kZXhEYXRhLmNzdiIsIHNlcD0iLCIpDQpkZCA8LSBkZCAlPiUgZmlsdGVyKEluZGV4ID09ICJOMjI1IikNCg0KZ2dwbG90KGRhdGEgPSBkZCwgYWVzKHg9YXMuRGF0ZShkZCREYXRlKSwgeT1hcy5udW1lcmljKGRkJE9wZW4pKSkgKyANCiAgZ2VvbV9saW5lKGNvbG9yPSJsaWdodGJsdWUiKSArIA0KICBsYWJzKHg9IkRhdGUiLCB5PSJPcGVuaW5nIFByaWNlIikNCg0KYGBgDQoNCg0KYGBge3IgZWNobz1UUlVFLCByZXN1bHRzPSdhc2lzJ30NCmRkIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vYXR0YWJvYXRlbmdzci9EQVRBNjA3L21haW4vV2VlazkvaW5kZXhEYXRhLmNzdiIsIHNlcD0iLCIpDQpkZCA8LSBkZCAlPiUgZmlsdGVyKEluZGV4ID09ICJOMTAwIikNCg0KZ2dwbG90KGRhdGEgPSBkZCwgYWVzKHg9YXMuRGF0ZShkZCREYXRlKSwgeT1hcy5udW1lcmljKGRkJE9wZW4pKSkgKyANCiAgZ2VvbV9saW5lKGNvbG9yPSJob3RwaW5rIikgKyANCiAgbGFicyh4PSJEYXRlIiwgeT0iT3BlbmluZyBQcmljZSIpDQoNCmBgYA==