R의 데이터 프레임에있는 별도의 열에 조건과 일치하는 값을 저장하는 방법은 무엇입니까?

야나 L

다음과 같은 데이터 세트가 있습니다.


    ISIN        Variable    Value
    182         Sales2008   276
    182         Sales2009   800
    182         Sales2010   900
    182         Sales2011   273
    182         Sales2012   276
    182         Sales2013   123
    182         Sales2014   345
    182         Sales2015   444
    182         Sales2016   666
    182         Sales2017   777
    182         Sales2018   999
    182         Sales2019   235
    182         Salesf2008   276
    182         Salesf2009   800
    182         Salesf2010   900
    182         Salesf2011   273
    182         Salesf2012   276
    182         Salesf2013   123
    182         Salesf2014   345
    182         Salesf2015   444
    182         Salesf2016   666
    182         Salesf2017   777
    182         Salesf2018   999
    182         Salesf2019   235
    182         ROA2008      333
    182         ROA2009      333
    182         ROA2010      333
    182         ROA2011      333
    182         ROA2012      333
    182         ROA2013      333
    182         ROA2014      333
    182         ROA2015      333
    182         ROA2016      333
    182         ROA2017      333
    182         ROA2018      333
    182         ROA2019      333

당신은 방법의 값 새로운 DF 만드는 어떤 제안이 있습니까 Sales2008로는 Sales2019하나 개의 컬럼에 저장 될 수 있습니까? 또한 Salesf2008to에 대한 값 Salesf2019은 다음 열에 저장되고 ROA2008to ROA2019에 대한 은 다음 열에 저장됩니까?

미리 감사드립니다!

앤드류

예상되는 출력 없이는 말하기 어렵지만 원하는 것처럼 들립니다. 이 용도는 extract()1) 문자와 2) 4 자리 숫자를 추출하여 두 개의 열을하고, pivot_wider()넓은 새 열 사용하여 긴에서 이동 : "골"과 "값"열을. 도움이 되었기를 바랍니다 !!

library(tidyr)
library(dplyr) # for %>%

df1 %>%
  extract(Variable, c("Col", "Year"), "([A-Za-z]+)(\\d{4})", convert = TRUE) %>% 
  pivot_wider(names_from = Col, values_from = Value) 

# A tibble: 12 x 5
    ISIN  Year  Sales Salesf   ROA
   <int> <int> <int>  <int> <int>
 1   182 2008    276    276   333
 2   182 2009    800    800   333
 3   182 2010    900    900   333
 4   182 2011    273    273   333
 5   182 2012    276    276   333
 6   182 2013    123    123   333
 7   182 2014    345    345   333
 8   182 2015    444    444   333
 9   182 2016    666    666   333
10   182 2017    777    777   333
11   182 2018    999    999   333
12   182 2019    235    235   333

데이터 :

df1 <- read.table(header = TRUE, text = "ISIN        Variable    Value
182         Sales2008   276
182         Sales2009   800
182         Sales2010   900
182         Sales2011   273
182         Sales2012   276
182         Sales2013   123
182         Sales2014   345
182         Sales2015   444
182         Sales2016   666
182         Sales2017   777
182         Sales2018   999
182         Sales2019   235
182         Salesf2008   276
182         Salesf2009   800
182         Salesf2010   900
182         Salesf2011   273
182         Salesf2012   276
182         Salesf2013   123
182         Salesf2014   345
182         Salesf2015   444
182         Salesf2016   666
182         Salesf2017   777
182         Salesf2018   999
182         Salesf2019   235
182         ROA2008      333
182         ROA2009      333
182         ROA2010      333
182         ROA2011      333
182         ROA2012      333
182         ROA2013      333
182         ROA2014      333
182         ROA2015      333
182         ROA2016      333
182         ROA2017      333
182         ROA2018      333
182         ROA2019      333")

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관