2017-10-08 2 views
1

내가 만든 새 환경에있는 모든 (xts) 객체를 결합하고 싶습니다. 가장 좋은 점은 eapply 기능을 사용하는 다음과 같습니다. 환경의 모든 객체를 사용하기 때문에 eapply을 사용 했으므로 더 나은 것을 만들 수 없습니다.환경에서 모든 xts 객체를 병합하는 방법

이것은 각 개체의 값의 머리를 차지하지만 전체 개체를 원합니다.

plist <- eapply(dataEnv, head) 
pframe <- do.call(merge, plist) 

답변

2

전체 개체를 원하므로 환경을 목록으로 간단하게 변환 할 수 있습니다. 이미 완료 한 것처럼 do.call()을 사용하여 병합하십시오. 예 :

library(quantmod) 
e <- new.env() 
getSymbols("IBM;MSFT", env = e) 
pframe <- do.call(merge, as.list(e)) 
head(pframe) 
#   IBM.Open IBM.High IBM.Low IBM.Close IBM.Volume IBM.Adjusted 
# 2007-01-03 97.18 98.40 96.26  97.27 9196800  76.18299 
# 2007-01-04 97.25 98.79 96.88  98.31 10524500  76.99751 
# 2007-01-05 97.60 97.95 96.91  97.42 7221300  76.30047 
# 2007-01-08 98.50 99.50 98.35  98.90 10340000  77.45959 
# 2007-01-09 99.08 100.33 99.07 100.07 11108200  78.37598 
# 2007-01-10 98.50 99.05 97.93  98.89 8744800  77.45180 
#   MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted 
# 2007-01-03  29.91  30.25 29.40  29.86 76935100  23.08097 
# 2007-01-04  29.70  29.97 29.44  29.81 45774500  23.04231 
# 2007-01-05  29.63  29.75 29.45  29.64 44607200  22.91091 
# 2007-01-08  29.65  30.10 29.53  29.93 50220200  23.13508 
# 2007-01-09  30.00  30.18 29.73  29.96 44636600  23.15826 
# 2007-01-10  29.80  29.89 29.43  29.66 55017400  22.92637 
+0

감사합니다. 사실 게시하기 전에 나는 그 일을 시도했지만 몇 가지 신비한 오류 메시지가 나타납니다. 지금 작동)))) – user8369515

관련 문제