I'm trying to merge four data frames into one but I haven't been able to since there seems to be an error in the number of rows. Each data frame contains information about stock price from 2021-02-28 to 2022-04-01.
#Loading stock data
install.packages("quantmod")
library(quantmod)
#Getting stock data for: Toyota (TYO), Renault (RNO.PA), Honda (HMC), Hyundai (HYMTF)
getSymbols(c("HMC", "HYMTF", "RNO.PA", "TYO" ), na.rm = TRUE)
#Creating individual data frames.
# Stock Honda.
stock_honda <- expand.grid("HMC" = HMC$HMC.Close) %>%
mutate(Date = row.names(as.data.frame(HMC))) %>%
mutate(across(Date, ~ . %>% str_remove("^X") %>% ymd())) %>%
subset(Date >"2021-02-28" & Date < "2022-04-01") %>%
rename(Close = HMC)
head(stock_honda)
#Stock Toyota
stock_tyo <- expand.grid("Toyota" = TYO$TYO.Close) %>%
mutate(Date = row.names(as.data.frame(TYO))) %>%
mutate(across(Date, ~. %>% str_remove("^X") %>% ymd()))%>%
subset(Date > "2021-02-28" & Date < "2022-04-01") %>%
rename(Close = Toyota)
head(stock_tyo)
# Stock Renault
stock_rno <- expand.grid("Rneault" = RNO.PA$RNO.PA.Close) %>%
mutate(Date = row.names(as.data.frame(RNO.PA))) %>%
mutate(across(Date, ~. %>% str_remove("^X") %>% ymd()))%>%
subset(Date > "2021-02-28" & Date < "2022-04-01")
head(stock_rno)
#Stock Hyundai
stock_hyundai <- expand.grid("HYMTF" = HYMTF$HYMTF.Close) %>%
mutate(Date = row.names(as.data.frame(HYMTF))) %>%
mutate(across(Date, ~ . %>% str_remove("^X") %>% ymd())) %>%
subset(Date >"2021-02-28" & Date < "2022-04-01") %>%
rename(Close = HYMTF)
head(stock_hyundai)
#Merging stocks data into one data frame
stocks <- data.frame("Honda" = stock_honda, "Hyundai" = stock_hyundai,
"Renault" = stock_rno, "Toyota" = stock_tyo)
head(stocks)
Which gives me the error below:
Error in data.frame(Honda = stock_honda, Hyundai = stock_hyundai, Renault = stock_rno, :
arguments imply differing number of rows: 276, 282
```