다른 열에있는 행의 값을 기반으로 한 열의 특정 행에서 값을 반환하는 r 코드를 생성하려고합니다.다른 열에서 수행 된 제한을 기반으로 한 열에서 특정 값을 추출하는 방법은 무엇입니까?
보다 구체적인 나는 다음과 같은 데이터 세트 (BTM
)가 :
Date CompanyName MarketValue BookValue BookToMarket
31.12.87 Bure Equity 2182000 2260267
31.01.88 Bure Equity 2102000 1950267
29.02.88 Bure Equity 2182000 2550267
...
31.07.88 Bure Equity 2022000 2980267 BookValue Des87/MarketValueJuly88
31.08.88 Bure Equity 2162000 2650267
30.09.88 Bure Equity 2272000 2390267 BookValue Des87/MarketValueSept88
31.10.88 Bure Equity 2122000 2650267
30.11.88 Bure Equity 2382000 2350267
31.12.88
31.12.87 H&M 2182000 2650267
31.01.88 H&M 2102000 2650267
29.02.88 H&M 2182000 2650267
(이것은 전체 데이터 세트에서 단지 작은 발췌 한 것입니다, 나는 약 1000 회사와 각 회사에 대한 월별 데이터의 30 년이)
를각 날짜마다 각 회사의 장부가 가치를 계산해야합니다. 그러나 1988 년 7 월부터 1989 년 6 월까지의 장부가 가치를 계산할 때 1987 년 12 월부터 장부 가치를 사용할 필요가 있습니다. 즉, R에서 책 - 투 - 시장 가치를 계산할 때 R이 이해하도록해야합니다. 기간 7 월 1988 - 6 월 1989; R은 주어진 월의 시가를 사용하면서 1987 년부터의 장부가를 사용해야합니다.
즉, 다음을 코딩해야합니다. 31.12.87 날짜에 해당하는 경우 "Bure Equity"의 장부가를 가져옵니다. 그런 다음이 장부가를 7 월 88 일부터 89 일까지 "Bure Equity"시장 가치로 나누십시오.
(이는 각 회사 및 1987-2016 년 동안 유효하도록 코딩해야합니다).
BTM$"Book to Market" <- ((BTM$"Book Value" | "Date"=="1987-12")/BTM$"Market Value")
이 나에게 어떤 가치를 제공하지만,하지 않을 권리들 예상대로 :이 작업을 수행하기 위해
나는 연구에 다음을 입력했습니다.
이상적으로 "Date value"열에 12 월 87 일, 12 월 88 일, 12 월 89 일 등등에 해당하는 "Book value"-column 값을 줄 수있는 공식이 필요합니다.
또한 그때 R 7 월 88 june89 년 7 월 다음 달에 89 다른 시장 가치에 선택한 책 값을 분할해야 - 6 월 90 등
R은 회사를 분리하는 것이 중요하다 서로에게서. 예를 들어 97 년 12 월 H & M의 장부가를 H & M (예 : Bure Equity)이 아닌 7 월 88 일 시장 가격으로 나눌 수 있다는 것을 이해하려면 R이 필요합니다.
누구에게 내가 어떻게 이런 일을 할 수있는 아이디어가 있습니까?
나는 어떤 조언을 주셔서 감사합니다.
입니다. 재생할 수 있도록 데이터의 재현 가능한 예를 게시 할 수 있습니까? 'dput (head (BTM))'이 효과가있다. – csgroen
예를 들어, 모든 'BookValue'는 동일합니다. 다른'BookValue'가있는 곳에서 데이터를 제공 할 수 있습니까? – useR
이제 BookValue의 문자를 변경했습니다. – Marthe