>source

다음이 있습니다.데이터 프레임그리고 다른 것을 만들고 싶습니다.데이터 프레임(M이라고 말함)평균NSA1~에서M1,M2,M3,평균NSB1, 에서M1,M2,M3그리고 마찬가지로C1.

library(tidyverse)
set.seed(123)
M1 <-data.frame(Date= seq(as.Date("2001-01-01"), to= as.Date("2005-12-31"), by= "month"),
           A1= runif(60,1,5), R1= runif(60,1,5), C1= runif(60,1,5),
           B1= runif(60,1,5), R2= runif(60,1,5), C2= runif(60,1,5),
           C1= runif(60,1,5), R3= runif(60,1,5), C3= runif(60,1,5))
M2 <-data.frame(Date= seq(as.Date("2001-01-01"), to= as.Date("2005-12-31"), by= "month"),
                 A1= runif(60,1,5), R1= runif(60,1,5), C1= runif(60,1,5),
                 B1= runif(60,1,5), R2= runif(60,1,5), C2= runif(60,1,5),
                 C1= runif(60,1,5), R3= runif(60,1,5), C3= runif(60,1,5))
M3 <-data.frame(Date= seq(as.Date("2001-01-01"), to= as.Date("2005-12-31"), by= "month"),
                 A1= runif(60,1,5), R1= runif(60,1,5), C1= runif(60,1,5),
                 B1= runif(60,1,5), R2= runif(60,1,5), C2= runif(60,1,5),
                 C1= runif(60,1,5), R3= runif(60,1,5), C3= runif(60,1,5))

원하는 출력

출력은데이터 프레임(M) 변수A(M1,M2,M3에서 A1의 평균),B(M1,M2,M3에서 B1의 평균), 그리고C(M1,M2,M3의 C1 평균).

data.frame은 중복된 열 이름을 가질 수 없습니다. 오타인가요?

akrun2021-12-08 17:01:23
  • 답변 # 1

    데이터세트는목록(mget), 관심 있는 열의 부분 집합, 요소별 합계(+) 및 3으로 나눕니다(3개의 데이터 세트만 있기 때문에)

    M <-Reduce(`+`, lapply(mget(ls(pattern= "^M\\d+")), `[`,
         c("A1", "B1", "C1")))/3
    names(M) <-sub("\\d+", "", names(M))
    

    -출력

    > head(M)
             A        B        C
    1 2.974476 3.009551 4.136055
    2 2.402516 3.193716 3.684854
    3 3.080969 2.976782 2.218857
    4 3.097903 2.711254 3.200728
    5 4.270551 3.540379 2.455284
    6 2.708799 2.737405 3.730513
    

  • 이전 Microsoft 365 Planner 작업 확인이 업데이트되었습니다. true인 경우 Microsoft 그래프 API로 피드백
  • 다음 windows : 상위 폴더의 각 폴더에 대해 이 powershell 스크립트를 실행하는 방법