여러 종목을 하나의 객체로 결합하기
한 가지 패러다임은 새 environment로 데이터를 가져오는 방식입니다. 그런 다음 eapply()를 사용해 environment의 각 객체에 함수를 호출할 수 있는데, 이는 리스트의 각 원소에 대해 lapply()가 하는 일과 비슷합니다. lapply()와 마찬가지로, eapply()는 리스트를 반환합니다.
그다음 do.call()을 사용해 리스트의 모든 원소를 하나의 객체로 병합할 수 있습니다. 이는 R이 프로그램적으로 명령을 입력하고 실행해 주는 것과 같습니다. merge(my_list[[1]], my_list[[2]]], ...)처럼 직접 타이핑하는 대신 do.call(merge, my_list)라고 작성하면 됩니다.
이 연습은 강의의 일부입니다
R에서 금융 데이터 가져오기와 관리
연습 안내
eapply()를 사용해data_env의 각 객체에head()를 호출하세요. 결과를data_list에 할당하세요.do.call()과merge()를 사용해data_list의 모든 원소를 하나의 xts 객체로 결합하고, 이름을data_merged로 지정하세요.- environment의 객체는 순서가 보장되지 않으므로,
data_merged의 열 순서도 확실하지 않습니다.OHLC()를 사용해 열을 정렬하고 결과를data_ohlc에 저장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Call head on each object in data_env using eapply
data_list <- ___(data_env, ___)
# Merge all the data_list elements into one xts object
data_merged <- ___(___, data_list)
# Ensure the columns are ordered: open, high, low, close