install.packages(“wbstats”)
library(wbstats)
## Warning: package 'wbstats' was built under R version 4.4.2
meta_data <- wb_cache()
topics <- meta_data$topics
write.csv(topics, "wb_topics.csv")
gdp_ind <- wb_search("gdp")
head(gdp_ind)
gdp_per_capita <- wb_data("SP.POP.TOTL")
head(gdp_per_capita)
pacman::p_load(quantmod, rvest, jsonlite)
getSymbols(c("NVDA", "TSLA"), source = "yahoo")
## [1] "NVDA" "TSLA"
write.zoo(NVDA, "NVDA.csv", sep= ",")
getSymbols(c("FPCPITOTLZGCHN","FPCPITOTLZGEGY","FPCPITOTLZGUSA"), src="FRED")
## [1] "FPCPITOTLZGCHN" "FPCPITOTLZGEGY" "FPCPITOTLZGUSA"
tail(FPCPITOTLZGUSA)
## FPCPITOTLZGUSA
## 2018-01-01 2.442583
## 2019-01-01 1.812210
## 2020-01-01 1.233584
## 2021-01-01 4.697859
## 2022-01-01 8.002800
## 2023-01-01 4.116338
symbol <- "MSFT"
start_date <- "2024-10-01"
end_date <- "2025-01-31"
getSymbols(symbol, src = "yahoo", from = start_date, to = end_date)
## [1] "MSFT"
msft_data <- get(symbol)
num_trading_days <- nrow(msft_data)
print(num_trading_days)
## [1] 83
getSymbols("MSFT", src = "yahoo", from = "2024-10-01", to = "2025-01-31")
## [1] "MSFT"
open_prices <- MSFT$MSFT.Open
max_open_date <- index(open_prices)[which.max(open_prices)]
max_open_value <- max(open_prices, na.rm = TRUE)
plot(index(open_prices), open_prices, type = "l", col = "blue", lwd = 2,
xlab = "Date", ylab = "Open Price", main = "Microsoft Open Prices")
library(pageviews)
## Warning: package 'pageviews' was built under R version 4.4.2
microsoft_views <- article_pageviews(
project = "en.wikipedia",
article = "Microsoft",
start = "2024100100", # Append "00" for hours
end = "2025013100", # Append "00" for hours
granularity = "daily"
)
head(microsoft_views)
dim(microsoft_views)
## [1] 123 8
high_views <- subset(microsoft_views, views > 30000)
nrow(high_views)
## [1] 1
tryCatch({
stock_rows <- nrow(msft_stock)
wikipedia_rows <- nrow(microsoft_views)
stock_dates <- msft_stock$Date
wikipedia_dates <- microsoft_views$timestamp
print(paste("Stock data observations: ", stock_rows))
print(paste("Wikipedia data observations: ", wikipedia_rows))
print("First few stock dates:")
print(head(stock_dates))
print("First few Wikipedia dates:")
print(head(wikipedia_dates))
common_dates <- intersect(stock_dates, wikipedia_dates)
print(paste("Number of common dates: ", length(common_dates)))
}, error = function(e) {
print(paste("Error: ", e$message))
})
## [1] "Error: object 'msft_stock' not found"