R의 목록에있는 기호에서 특정 정보를 호출 할 때 발생하는 문제

돌레 마이트
START <- '2013-09-03'    
symbolList <- list("AAPL", "MSFT", "TSLA", "GOOG", "IBM")
for (ii in 1:length(symbolList))
  {
  getSymbols(paste(symbolList[ii]), src='yahoo', from=START)
  }

이렇게하면 각각 6 개의 열이있는 5 개의 xts 개체가 생성됩니다. mergedData 을 만들고 싶지만 아래에서 수행하는 무차별 대입 방식이 아닌 symbolList 를 참조 하여 만듭니다 .

mergedData <- merge(AAPL[,6], MSFT[,6], TSLA[,6], GOOG[,6], IBM[,6])
colnames(mergedData) <- c("Apple", "Microsoft", "Tesla", "Google", "IBM")

symbolList 를 반복하는 메서드를 사용하여 위의 마지막 두 줄을 어떻게 다시 작성 합니까? 또한 작성된 xts가 따옴표가없는 AAPL, MSFT 등이므로 따옴표가있는 원래 목록이 내 문제의 일부일 수 있다고 확신합니다. 그 문제를 어떻게 해결합니까?

감사!

감염된

있었다 하여 그 마지막 두 라인 물품 get(심볼 심볼 이름으로 변환한다) do.call(리스트에 함수를 적용) 및 lapply(a [다른] 함수의 결과의리스트를 작성한다) :

mergedData <- do.call(merge, lapply(symbolList, function(sym) {  get(sym)[,6] }) )
colnames(mergedData) <- c("Apple", "Microsoft", "Tesla", "Google", "IBM")

그러나 auto.assign=FALSEin 을 사용하여 전체 프로세스를 상당히 단순화 할 수도 있습니다 getSymbols. (또한 symbolList를 목록에서 명명 된 벡터로 변경했습니다. 정말 필요한 모든 것입니다.) :

library(quantmod)
START <- '2013-09-03'    
symbolList <- c(Apple="AAPL", Microsoft="MSFT", Tesla="TSLA", Google="GOOG", IBM="IBM")
dataList <- lapply(symbolList, function(sym) {
  setNames(getSymbols(sym, src='yahoo', from=START, auto.assign=FALSE)[,6], names(sym))
})
mergedData <- do.call(merge, dataList)

또는 정말 조밀 한 코드 를 원한다면 :

mergedData <- do.call(merge, lapply(symbolList, function(sym) {
  setNames(getSymbols(sym, src='yahoo', from=START, auto.assign=FALSE)[,6], names(sym))
}))

부록-lapply 호출에 대한 설명 (귀하의 의견에 대한 응답)

이 줄에서 :

dataList <- lapply(symbolList, function(sym) {
  setNames(getSymbols(sym, src='yahoo', from=START, auto.assign=FALSE)[,6], names(sym))
})

lapply에 벡터 symbolList(목록이 될 수 있음)와 함수라는 두 개의 인수를 전달했습니다 function(sym) { ... }. 미리 정의 된 함수를 전달할 수 있습니다. 예를 들어 각 기호의 문자 수를 세고 싶다면 다음을 전달할 수 있습니다 nchar.

lapply(symbolList, nchar)

그리고 그것은 호출과 동일했을 것입니다

list(Apple=nchar(symbolList[[1]]), Microsoft=nchar(symbolList[[2]]), Tesla=nchar(symbolList[[3]]), Google=nchar(symbolList[[4]]), IBM=nchar(symbolList[[5]]))

둘 다 양식 목록을 반환합니다.

list(Apple=4, Microsoft=4, Tesla=4, Google=4, IBM=3)

그러나을 사용하는 대신 nchar내 자신의 함수를 작성했습니다. 이 함수는 nchar예제 에서 4, 4, 4, 4, 3 대신 원하는 것을 반환합니다 . 함수는 별도로 정의 할 수 있습니다.

myfun <- function(sym) {
  setNames(getSymbols(sym, src='yahoo', from=START, auto.assign=FALSE)[,6], names(sym))
}

그리고 우리는 통과 수 myfunlapply우리가 원하는 결과를 얻을 수 :

dataList <- lapply(symbolList, myfun)

이 경우 4, 4, 4, 4, 3이 아닌 xts 객체 목록을 얻습니다. 다음과 같이 동일한 목록을 만들 수도 있습니다.

dataList2 <- list(Apple=myfun(symbolList[[1]]), Microsoft=myfun(symbolList[[2]]), Tesla=myfun(symbolList[[3]]), Google=myfun(symbolList[[4]]), IBM=myfun(symbolList[[5]]))

그러나 물론 lapply버전은 목록 요소의 수와 이름에 대해 더 깨끗하고 유연합니다.

실제로는 먼저 함수를 일부 변수 ( myfun이 경우)에 할당 한 다음 함수를에 전달하는 것이 다소 어색한 경우가 많습니다 lapply. 그래서 내 원래 대답에서 대신 lapply이름을 지정하지 않고 호출 내에서 함수를 정의하기로 결정했습니다 . myfunfunction(sym) { ... }상응하는 기능 개체이다. 해당 정보가 주어 졌으므로 이제 lapply여기에 복사 한 원래 답변 호출을 이해하거나 수정할 수 있기를 바랍니다 .

dataList <- lapply(symbolList, function(sym) {
  setNames(getSymbols(sym, src='yahoo', from=START, auto.assign=FALSE)[,6], names(sym))
})

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

헤더 파일 내에서 메서드를 호출 할 때 정의되지 않은 참조 문제가 발생하는 이유를 알 수 없습니다.

분류에서Dev

다른 양식에서 메서드를 호출 할 때 발생하는 문제

분류에서Dev

악센트 부호가있는 문자 (Á)가있는 열로 sqlite를 정렬 할 때 발생하는 문제

분류에서Dev

Django의 특정 그룹에 제한된 권한을 부여 할 때 발생하는 문제

분류에서Dev

NetLogo : 특정 패치에서 과금하는 사용자 수를 제한 할 때 발생하는 문제

분류에서Dev

대괄호를 사용하여 스칼라에서 json respnse 값을 추출 할 때 발생하는 문제

분류에서Dev

UiCollectionView에서 scrollViewDidEndDecelerating이 발생할 때 셀의 함수를 호출하는 방법

분류에서Dev

json 피드를 호출 할 때 특정 수의 항목을 제외하는 방법

분류에서Dev

listView flutter에서 특정 번호를 제공 할 때 오류 발생

분류에서Dev

R의 특정 문자 패턴 다음에 발생하는 구분 기호를 기반으로 다음 문자열 벡터를 어떻게 분할합니까?

분류에서Dev

Python을 사용하여 목록에서 관련 요소를 추출 할 때 발생하는 문제

분류에서Dev

함수 정의에 아직 정의되지 않은 함수를 호출 할 때 Python에서 NameError가 발생하지 않는 이유

분류에서Dev

Python의 목록에서 사전을 제거 할 때 발생하는 문제

분류에서Dev

Python Kivy의 목록보기에 배열을 추가 할 때 발생하는 문제

분류에서Dev

사용자 정의 클래스에서 UIDocumentInteractionController를 표시 할 때 발생하는 문제

분류에서Dev

VB의 목록에 항목을 추가 할 때 발생하는 문제

분류에서Dev

R에서 앞의 특정 단어와 뒤의 % 기호를 기반으로 문자열 또는 값 추출

분류에서Dev

Objective C의 uiwebview에서 PDF를 생성 할 때 발생하는 문제

분류에서Dev

개체를 카메라에 고정 할 때 발생하는 문제

분류에서Dev

기본 생성자에서 오버로드 된 생성자를 호출 할 때 개체 상태 정보 유지

분류에서Dev

음악 트랙에서 정보를 가져올 때 발생하는 문제

분류에서Dev

목록을 순회 할 때 다른 목록의 특정 값 개수에 해당하는 요소가있는 목록 생성

분류에서Dev

목록에서 특정 인덱스를 호출하도록 함수를 설정할 수 있습니까?

분류에서Dev

브라우저에서 Node와 CryptoJS간에 AES 암호화를 사용할 때 발생하는 문제

분류에서Dev

R에서 열 데이터를 그룹화 할 때 발생하는 문제

분류에서Dev

Azure Functions에서 사용자 지정 어셈블리의 메서드를 호출 할 때 오류 발생

분류에서Dev

R 다른 함수 내부에서 호출 할 때 함수 정의를 얻는 방법

분류에서Dev

sh 스크립트 내에서 호출 된 PHP 스크립트에 인수를 전달할 때 발생하는 문제

분류에서Dev

Java에서 특정 유니 코드 기호를 임의로 생성 할 수있는 기회가 있습니까?

Related 관련 기사

  1. 1

    헤더 파일 내에서 메서드를 호출 할 때 정의되지 않은 참조 문제가 발생하는 이유를 알 수 없습니다.

  2. 2

    다른 양식에서 메서드를 호출 할 때 발생하는 문제

  3. 3

    악센트 부호가있는 문자 (Á)가있는 열로 sqlite를 정렬 할 때 발생하는 문제

  4. 4

    Django의 특정 그룹에 제한된 권한을 부여 할 때 발생하는 문제

  5. 5

    NetLogo : 특정 패치에서 과금하는 사용자 수를 제한 할 때 발생하는 문제

  6. 6

    대괄호를 사용하여 스칼라에서 json respnse 값을 추출 할 때 발생하는 문제

  7. 7

    UiCollectionView에서 scrollViewDidEndDecelerating이 발생할 때 셀의 함수를 호출하는 방법

  8. 8

    json 피드를 호출 할 때 특정 수의 항목을 제외하는 방법

  9. 9

    listView flutter에서 특정 번호를 제공 할 때 오류 발생

  10. 10

    R의 특정 문자 패턴 다음에 발생하는 구분 기호를 기반으로 다음 문자열 벡터를 어떻게 분할합니까?

  11. 11

    Python을 사용하여 목록에서 관련 요소를 추출 할 때 발생하는 문제

  12. 12

    함수 정의에 아직 정의되지 않은 함수를 호출 할 때 Python에서 NameError가 발생하지 않는 이유

  13. 13

    Python의 목록에서 사전을 제거 할 때 발생하는 문제

  14. 14

    Python Kivy의 목록보기에 배열을 추가 할 때 발생하는 문제

  15. 15

    사용자 정의 클래스에서 UIDocumentInteractionController를 표시 할 때 발생하는 문제

  16. 16

    VB의 목록에 항목을 추가 할 때 발생하는 문제

  17. 17

    R에서 앞의 특정 단어와 뒤의 % 기호를 기반으로 문자열 또는 값 추출

  18. 18

    Objective C의 uiwebview에서 PDF를 생성 할 때 발생하는 문제

  19. 19

    개체를 카메라에 고정 할 때 발생하는 문제

  20. 20

    기본 생성자에서 오버로드 된 생성자를 호출 할 때 개체 상태 정보 유지

  21. 21

    음악 트랙에서 정보를 가져올 때 발생하는 문제

  22. 22

    목록을 순회 할 때 다른 목록의 특정 값 개수에 해당하는 요소가있는 목록 생성

  23. 23

    목록에서 특정 인덱스를 호출하도록 함수를 설정할 수 있습니까?

  24. 24

    브라우저에서 Node와 CryptoJS간에 AES 암호화를 사용할 때 발생하는 문제

  25. 25

    R에서 열 데이터를 그룹화 할 때 발생하는 문제

  26. 26

    Azure Functions에서 사용자 지정 어셈블리의 메서드를 호출 할 때 오류 발생

  27. 27

    R 다른 함수 내부에서 호출 할 때 함수 정의를 얻는 방법

  28. 28

    sh 스크립트 내에서 호출 된 PHP 스크립트에 인수를 전달할 때 발생하는 문제

  29. 29

    Java에서 특정 유니 코드 기호를 임의로 생성 할 수있는 기회가 있습니까?

뜨겁다태그

보관