목록에서 ARIMA 객체를 추출하고 R의 데이터 프레임에 저장

user1700890

내 목표는 여러 시계열에 대해 ARIMA를 실행하고 결과를 데이터 프레임에 저장하는 것입니다. 내 예는 다음과 같습니다.

library(forecast)

my_df <- data.frame(gr  = c(rep("a", 10), rep("b", 10)), 
                    val = sample(1:100, 20))

get_arima <- function(sample_name = NA,df = NA){
  fit = auto.arima(df[df$gr == sample_name, ]$val)
  return(fit)
}

result <- sapply(c("a", "b"), get_arima, df = my_df, simplify = F)
result_df <- data.frame(gr = names(result), 
  model_result = unlist(result, use.names =  F))

다음 오류가 발생합니다.

Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) : 
  cannot coerce class ‘c("forecast_ARIMA", "ARIMA", "Arima")’ to a data.frame

목표는 두 번째 열에 ARIMA 모델을 포함하여 다음과 같이하는 것입니다. forecast(result_df$model_result, h=3)

아마도 여러 가지 방법이 있다고 생각하지만 apply목록에서 데이터 프레임으로 결과를 얻고 답변을 주시면 감사하겠습니다 .

Akrun

모델 출력은 list

str(result[[1]])
#List of 18
# $ coef     : Named num 54.3
#  ..- attr(*, "names")= chr "intercept"
# $ sigma2   : num 1454
# $ var.coef : num [1, 1] 131
# ...

그리고 '결과' list도 마찬가지입니다. 모델을 'data.frame'의 열로 유지하는 경우 다음과 같이 유지하십시오.list


df1 <- data.frame(gr = names(result), model_result = I(result)) 

를 사용하면 열없이 tibble직접 list열을 만들 수 있습니다.I

library(tibble)
df1 <- tibble(gr = names(result), model_result = result)
df1
# A tibble: 2 x 2
#   gr    model_result
#  <chr> <named list>
#1 a     <ARIMA>     
#2 b     <ARIMA>     

다음으로 각 요소 추출 [[

df1$model_result[[1]]
#Series: df[df$gr == sample_name, ]$val 
#ARIMA(0,0,0) with non-zero mean 

#Coefficients:
#         mean
#      54.3000
#s.e.  11.4378

#sigma^2 estimated as 1454:  log likelihood=-50.07
#AIC=104.14   AICc=105.86   BIC=104.75

그리고 적용 forecast

forecast::forecast( df1$model_result[[1]], h = 3)
#Point Forecast    Lo 80  Hi 80     Lo 95    Hi 95
#11           54.3 5.439989 103.16 -20.42494 129.0249
#12           54.3 5.439989 103.16 -20.42494 129.0249
#13           54.3 5.439989 103.16 -20.42494 129.0249

forecast모든 요소에 대해 가져 오려면map

library(purrr)
map(df1$model_result, ~ forecast::forecast(.x, h = 3))

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

목록 목록에서 모든 목록의 행 이름을 추출하고 새 데이터 프레임 또는 목록 목록에 저장하는 방법

분류에서Dev

R을 사용하여 데이터 프레임에서 데이터를 추출하고 알 수없는 수의 새 열에 데이터 저장

분류에서Dev

객체 이름을 사용하여 목록에 저장된 데이터 프레임의 변수 이름 변경

분류에서Dev

R의 목록에 XTS 개체를 데이터 프레임으로 저장

분류에서Dev

R : 요약, 드롭 열 목록에서 데이터 프레임의 이름을 변경하고 결과를 env에 저장

분류에서Dev

객체를 목록에 저장하고 R의 문자형 벡터에 저장된 이름 지정

분류에서Dev

R 데이터 프레임의 각 행에 기능을 적용하고 결과를 동일한 데이터 프레임의 새 열에 저장

분류에서Dev

고유 한 장르와 개수를 추출하여 인덱스 키로 데이터 프레임에 저장

분류에서Dev

데이터 프레임의 모든 값에 다른 데이터 프레임의 단일 열을 곱하고 결과를 새 개체에 저장

분류에서Dev

R의 dbf에 데이터 프레임을 저장할 때 데이터 정밀도를 제어하는 방법

분류에서Dev

csv에서 데이터를 피벗하고 데이터 프레임에 저장

분류에서Dev

데이터 프레임의 목록 목록에서 값 추출

분류에서Dev

루프에서 별도의 행렬을 사용하고 결과를 데이터 프레임에 저장

분류에서Dev

두 데이터 프레임에서 데이터를 수집하여 새 데이터 프레임에 저장

분류에서Dev

팬더의 데이터 프레임 목록에서 데이터를 추출하여 하나의 데이터 프레임을 만듭니다.

분류에서Dev

sapply를 확장하여 변수 목록을 적용하고 출력을 R의 데이터 프레임 목록으로 저장

분류에서Dev

r에서 데이터 프레임의 행에 목록 추가

분류에서Dev

데이터 프레임에서 열의 특정 키워드를 제거하고 json에 저장하십시오.

분류에서Dev

lapply의 출력을 각 데이터 프레임에 저장

분류에서Dev

R- 목록에서 루프를 수행하고 다른 데이터 프레임을 출력하는 방법

분류에서Dev

목록에서 여러 하위 목록의 요소를 추출하고 여러 데이터 프레임으로 변환

분류에서Dev

데이터 프레임에서 목록의 모든 요소를 검색하는 가장 효율적인 방법

분류에서Dev

데이터 프레임의 일부 열에 함수를 적용하고 결과를 원래 데이터 프레임에 저장합니다.

분류에서Dev

목록에서 인덱스 값을 추출하고 다른 특정 데이터 프레임 R에서 대체하는 방법은 무엇입니까?

분류에서Dev

R : 행렬에 저장된 데이터 프레임에서 ks 테스트를 수행하는 루프

분류에서Dev

R, 데이터 프레임 목록, lapply 후 결과 저장소도 데이터 프레임 목록으로, 결과를 원본 이름에 저장하는 방법

분류에서Dev

목록에서 데이터 프레임으로 개체 추출

분류에서Dev

R에서 루프를 만들고 결과를 데이터 프레임으로 저장

분류에서Dev

r 데이터 프레임 내에서 목록 요소 추출

Related 관련 기사

  1. 1

    목록 목록에서 모든 목록의 행 이름을 추출하고 새 데이터 프레임 또는 목록 목록에 저장하는 방법

  2. 2

    R을 사용하여 데이터 프레임에서 데이터를 추출하고 알 수없는 수의 새 열에 데이터 저장

  3. 3

    객체 이름을 사용하여 목록에 저장된 데이터 프레임의 변수 이름 변경

  4. 4

    R의 목록에 XTS 개체를 데이터 프레임으로 저장

  5. 5

    R : 요약, 드롭 열 목록에서 데이터 프레임의 이름을 변경하고 결과를 env에 저장

  6. 6

    객체를 목록에 저장하고 R의 문자형 벡터에 저장된 이름 지정

  7. 7

    R 데이터 프레임의 각 행에 기능을 적용하고 결과를 동일한 데이터 프레임의 새 열에 저장

  8. 8

    고유 한 장르와 개수를 추출하여 인덱스 키로 데이터 프레임에 저장

  9. 9

    데이터 프레임의 모든 값에 다른 데이터 프레임의 단일 열을 곱하고 결과를 새 개체에 저장

  10. 10

    R의 dbf에 데이터 프레임을 저장할 때 데이터 정밀도를 제어하는 방법

  11. 11

    csv에서 데이터를 피벗하고 데이터 프레임에 저장

  12. 12

    데이터 프레임의 목록 목록에서 값 추출

  13. 13

    루프에서 별도의 행렬을 사용하고 결과를 데이터 프레임에 저장

  14. 14

    두 데이터 프레임에서 데이터를 수집하여 새 데이터 프레임에 저장

  15. 15

    팬더의 데이터 프레임 목록에서 데이터를 추출하여 하나의 데이터 프레임을 만듭니다.

  16. 16

    sapply를 확장하여 변수 목록을 적용하고 출력을 R의 데이터 프레임 목록으로 저장

  17. 17

    r에서 데이터 프레임의 행에 목록 추가

  18. 18

    데이터 프레임에서 열의 특정 키워드를 제거하고 json에 저장하십시오.

  19. 19

    lapply의 출력을 각 데이터 프레임에 저장

  20. 20

    R- 목록에서 루프를 수행하고 다른 데이터 프레임을 출력하는 방법

  21. 21

    목록에서 여러 하위 목록의 요소를 추출하고 여러 데이터 프레임으로 변환

  22. 22

    데이터 프레임에서 목록의 모든 요소를 검색하는 가장 효율적인 방법

  23. 23

    데이터 프레임의 일부 열에 함수를 적용하고 결과를 원래 데이터 프레임에 저장합니다.

  24. 24

    목록에서 인덱스 값을 추출하고 다른 특정 데이터 프레임 R에서 대체하는 방법은 무엇입니까?

  25. 25

    R : 행렬에 저장된 데이터 프레임에서 ks 테스트를 수행하는 루프

  26. 26

    R, 데이터 프레임 목록, lapply 후 결과 저장소도 데이터 프레임 목록으로, 결과를 원본 이름에 저장하는 방법

  27. 27

    목록에서 데이터 프레임으로 개체 추출

  28. 28

    R에서 루프를 만들고 결과를 데이터 프레임으로 저장

  29. 29

    r 데이터 프레임 내에서 목록 요소 추출

뜨겁다태그

보관