library(quantmod)
Loading required package: xts
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
Loading required package: TTR
Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
getSymbols(c("GOOG","AMZN","TSLA","GE"), src="yahoo")
[1] "GOOG" "AMZN" "TSLA" "GE"
getSymbols("MSFT")
[1] "MSFT"
Which of the following exactly return(s) the daily stock prices for
Microsoft from 2023-10-01 to 2024-01-31?
getSymbols("MSFT", src="yahoo",from = "2023-10-01", to = "2024-01-31")
[1] "MSFT"
n_days <- nrow(MSFT)
print(n_days)
[1] 83
Could you find out in which time period did Microsoft’s Open prices
reach the highest?
plot(MSFT$MSFT.Open, main = "Microsoft Open Prices",
xlab = "Date", ylab = "Open Price", type = "l",
col = "blue", lwd = 2)

Based on our class demos and your coding experience obtained from
the above questions (extract data via quantmod or gtrendsR), try writing
the R code to get another online data source of Wikipedia views data for
Microsoft in English language from 2023-10-01 to 2024-01-31? Once you
successfully extract this data, how many observations and variables did
you get?
Given the Stock prices and the Wikipedia views data you extracted
above for Microsoft from 2023-10-01 to 2024-01-31, is it ok to directly
combine these two data objects as one dataframe?
# Check the dimensions of each data frame
pageviews_dimensions <- dim(microsoft_pageviews)
stock_prices_dimensions <- dim(microsoft_stock_prices)
Error: object 'microsoft_stock_prices' not found
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCmBgYHtyfQpsaWJyYXJ5KHF1YW50bW9kKQpnZXRTeW1ib2xzKGMoIkdPT0ciLCJBTVpOIiwiVFNMQSIsIkdFIiksIHNyYz0ieWFob28iKQoKZ2V0U3ltYm9scygiTVNGVCIpCmBgYAoKIyMjIFdoaWNoIG9mIHRoZSBmb2xsb3dpbmcgZXhhY3RseSByZXR1cm4ocykgdGhlIGRhaWx5IHN0b2NrIHByaWNlcyBmb3IgTWljcm9zb2Z0IGZyb20gMjAyMy0xMC0wMSB0byAyMDI0LTAxLTMxPwpgYGB7cn0KZ2V0U3ltYm9scygiTVNGVCIsIHNyYz0ieWFob28iLGZyb20gPSAiMjAyMy0xMC0wMSIsIHRvID0gIjIwMjQtMDEtMzEiKQoKbl9kYXlzIDwtIG5yb3coTVNGVCkKcHJpbnQobl9kYXlzKQpgYGAKCiMjIyBDb3VsZCB5b3UgZmluZCBvdXQgaW4gd2hpY2ggdGltZSBwZXJpb2QgZGlkIE1pY3Jvc29mdCdzIE9wZW4gcHJpY2VzIHJlYWNoIHRoZSBoaWdoZXN0PwpgYGB7cn0KcGxvdChNU0ZUJE1TRlQuT3BlbiwgbWFpbiA9ICJNaWNyb3NvZnQgT3BlbiBQcmljZXMiLCAKICAgICB4bGFiID0gIkRhdGUiLCB5bGFiID0gIk9wZW4gUHJpY2UiLCB0eXBlID0gImwiLCAKICAgICBjb2wgPSAiYmx1ZSIsIGx3ZCA9IDIpCmBgYAoKCiMjIyBOb3cgeW91IHdpbGwgd3JpdGUgdGhlIFIgY29kZSB0byBleHRyYWN0IHRoZSBnb29nbGUgdHJlbmRzIGRhdGEgZm9yIE1pY3Jvc29mdCBkdXJpbmcgdGhlIHNhbWUgZGF0ZSByYW5nZSBmcm9tIDIwMjMtMTAtMDEgdG8gMjAyNC0wMS0zMS4gQmFzZWQgb24gdGhlIGdvb2dsZSB0cmVuZHMgZGF0YSB5b3Ugb2J0YWluZWQgZm9yIE1pY3Jvc29mdCwgb24gd2hpY2ggZGF0ZSBkb2VzIHRoZSBudW1iZXIgb2Ygc2VhcmNoIGhpdHMgcmVhY2hlZCB0aGUgaGlnaGVzdD8KYGBge3J9Cmluc3RhbGwucGFja2FnZXMoImd0cmVuZHNSIikKbGlicmFyeShndHJlbmRzUikKCnRyZW5kc19kYXRhIDwtIHJlYWQuY3N2KG11bHRpVGltZWxpbmUuY3N2KQpWaWV3KHRyZW5kc19kYXRhKQpgYGAKCiMjIyBCYXNlZCBvbiBvdXIgY2xhc3MgZGVtb3MgYW5kIHlvdXIgY29kaW5nIGV4cGVyaWVuY2Ugb2J0YWluZWQgZnJvbSB0aGUgYWJvdmUgcXVlc3Rpb25zIChleHRyYWN0IGRhdGEgdmlhIHF1YW50bW9kIG9yIGd0cmVuZHNSKSwgdHJ5IHdyaXRpbmcgdGhlIFIgY29kZSB0byBnZXQgYW5vdGhlciBvbmxpbmUgZGF0YSBzb3VyY2Ugb2YgV2lraXBlZGlhIHZpZXdzIGRhdGEgZm9yIE1pY3Jvc29mdCBpbiBFbmdsaXNoIGxhbmd1YWdlIGZyb20gMjAyMy0xMC0wMSB0byAyMDI0LTAxLTMxPyBPbmNlIHlvdSBzdWNjZXNzZnVsbHkgZXh0cmFjdCB0aGlzIGRhdGEsIGhvdyBtYW55IG9ic2VydmF0aW9ucyBhbmQgdmFyaWFibGVzIGRpZCB5b3UgZ2V0PwpgYGB7cn0KaW5zdGFsbC5wYWNrYWdlcygicGFnZXZpZXdzIikKbGlicmFyeShwYWdldmlld3MpCgo/cGFnZXZpZXdzCgoKbWljcm9zb2Z0X3BhZ2V2aWV3cyA8LSBwYWdldmlld3M6OmFydGljbGVfcGFnZXZpZXdzKHByb2plY3QgPSAiZW4ud2lraXBlZGlhIiwgYXJ0aWNsZSA9ICJSIChwcm9ncmFtbWluZyBsYW5ndWFnZSkiLCBwbGF0Zm9ybSA9ICJhbGwiLCB1c2VyX3R5cGUgPSAiYWxsIiwgc3RhcnQgPSAiMjAyMzEwMDEwMCIsIGVuZCA9ICIyMDI0MDEzMTAwIiwgcmVmb3JtYXQgPSBUUlVFLCBncmFudWxhcml0eSA9ICJkYWlseSIpCmBgYAoKIyMjIEJhc2VkIG9uIHlvdXIgZXh0cmFjdGVkIGRhdGEgYWJvdmUsIGhvdyBtYW55IGRheXMgaW4gdG90YWwgYXJlIHdpdGggYSBXaWtpcGVkaWEgdmlld3Mgb3ZlciAzMCwwMDA/IChIaW50OiBZb3UgbWF5IHVzZSB0aGUgc3Vic2V0KCkgZnVuY3Rpb24pCmBgYHtyfQpoaWdoX3ZpZXdzIDwtIHN1YnNldChtaWNyb3NvZnRfcGFnZXZpZXdzLCB2aWV3cyA+IDMwMDAwKQoKbnVtX2hpZ2hfdmlld19kYXlzIDwtIG5yb3coaGlnaF92aWV3cykKbnVtX2hpZ2hfdmlld19kYXlzCgpgYGAKCiMjIyBHaXZlbiB0aGUgU3RvY2sgcHJpY2VzIGFuZCB0aGUgV2lraXBlZGlhIHZpZXdzIGRhdGEgeW91IGV4dHJhY3RlZCBhYm92ZSBmb3IgTWljcm9zb2Z0IGZyb20gMjAyMy0xMC0wMSB0byAyMDI0LTAxLTMxLCBpcyBpdCBvayB0byBkaXJlY3RseSBjb21iaW5lIHRoZXNlIHR3byBkYXRhIG9iamVjdHMgYXMgb25lIGRhdGFmcmFtZT8KYGBge3J9CiMgQ2hlY2sgdGhlIGRpbWVuc2lvbnMgb2YgZWFjaCBkYXRhIGZyYW1lCnBhZ2V2aWV3c19kaW1lbnNpb25zIDwtIGRpbShtaWNyb3NvZnRfcGFnZXZpZXdzKQpzdG9ja19wcmljZXNfZGltZW5zaW9ucyA8LSBkaW0obWljcm9zb2Z0X3N0b2NrX3ByaWNlcykKCnBhZ2V2aWV3c19kaW1lbnNpb25zICAKc3RvY2tfcHJpY2VzX2RpbWVuc2lvbnMgIAoKIyBnb3QgZXJyb3IgbWVzc2FnZSwgbWFraW5nIHF1ZXN0aW9uIEZBTFNFCmBgYAoK