아래 코드를 사용하여 term_strc_nss 클래스에서 명명 된 번호를 추출합니다. 그것은 잘 작동 베타 벡터에 대한 값을 추출하고 다음 함수로 그들을 전달합니다. 그러나 거래 날짜는 2012-12-31
이고 클래스 변경 슬롯을 정의합니다. 따라서, 거래일을 변수로 변수에 전달해야합니다.R에서 붙여 넣기를 사용하여 명령 연결
BetaVector <<- unname(term.structure$opt_result$`2012-12-31`$par[c("beta0",
"beta1","beta2", "tau1")])
코드는 아래에 붙여 넣기를 사용하지만 기능을 실행할 때 나는 "beta0", "베타", "베타"와 "tau1"주위에 따옴표 관련이있는 것으로 보이는 오류를 얻을. 나는 "나는 코드를 실행할 수 있지만 그 값이 베타 벡터 이름의 단지 문자열이기 때문에 통과되지 않았다 '로 대체했습니다.
BetaVector <<- paste("unname(term.structure$opt_result$`",tradedate,"`$par[c("beta0",
"beta1", "beta2", "tau1")])")
내가 베타 계수를 추출하는 방법을 만들 수 있습니다 생각하지만, 나는 여전히 메소드를 생성 할 때 똑같은 문제에 직면하게 될 것이다. 클래스에서 명명 된 숫자를 추출하는 더 좋은 방법이 있을까?
여기 term.structure의 dput이있다 term.structure는 오브젝트 termstrc_nss이고 S3 클래스 무엇을 참조 할 적절한 방법은 무엇입니까?
structure(list(`2012-12-31` = structure(list(par = structure(c(3.41273726187976,
-2.63342593294169, -5.34244663887461, 2.13363495349724), .Names = c("beta0",
"beta1", "beta2", "tau1")), value = 0.0088680383803467, counts = structure(c(15,
10), .Names = c("function", "gradient")), convergence = 0L, message = NULL,
outer.iterations = 2L, barrier.value = -0.000409627261066452), .Names = c("par",
"value", "counts", "convergence", "message", "outer.iterations",
"barrier.value"))), .Names = "2012-12-31")
'dput (term.structure $ opt_result)'을 게시하고 S4 구조를 언급하지 않을 때는 '슬롯'이라는 용어를 사용하지 마십시오. 이 질문에 모호한 부분이 많이 있습니다. 텍스트 설명과 질문과 일치하는 코드와 데이터가 없으면 가까운 득표를 얻을 위험이 있습니다. –
이 질문에 대한 답은 인용 부호에서 벗어나는 것 같습니다 : – Thomas