dplyr :: group_modify 내에서 purrr :: possibly ()를 사용하여 깔끔한 모델 통계 생성

SGE

나는 많은 지수 모델을에 맞추려고 노력하고 testData있지만, 사이의 질량 증가 패턴의 변화를 testData$ID위해이 모델은 많은 개인에게 성공하지 못할 것입니다. 목표는 성공적인 모델이 broom::tidy있는의 모든 통계 testData$ID가보고되고 모델이없는 개인이 모델 통계에 대한 NA가 있는 데이터 프레임에 나타나는 데이터 프레임 을 생성하는 것이 었습니다 . 다음은 ID에 대한 모델링에 실패하는 데이터 샘플입니다. 나는 broom :: tidy () 대신 오류를 던지는 함수 주위에 purrr :: possibly ()를 감싸 야한다는 것을 가르쳐 준이 게시물 을 살펴 보았 기 때문에 ExpMod_1. 이에 대한 오류는 다음과 같습니다.

Error: The result of .f should be a data frame.

또한 이 게시물을 살펴보면 인수에 지정된 값뿐만 아니라 "입력과 동일한 인수를 허용"(-user3603486)하는 함수를 실제로 반환 할 가능성이 있다는 사실을 otherwise알게되었습니다. 그 대답처럼 보이지만 NA_character_어쨌든 정적 값입니다. 이 실행에서 발생한 오류는 다음과 같습니다.

Error: No tidy method for objects of class function

내 문제를 설명하기 위해 몇 가지 예제 데이터와 코드를 첨부했습니다.

require(tidyverse)
require(broom)

testDat<- tibble(Mass = rnorm(n = 100, mean = 3.5, sd = 0.5),
                 Days_to_Departure = sample(x = (c(1:14)),size = 100, replace = T),
                 ID = sample(x = c(1:4), size = 100, replace = T))
ExpMod_1<-testDat %>% 
  group_by(ID) %>%
  group_modify(.f = ~possibly(~tidy(nls(Mass_Visit ~ a*exp(-b*Days_to_Departure) + c, data = .x,
                                        start = list(a=1.2, b=0.5, c = 3.5),
                                        control = list(maxiter = 500),
                                        trace = T)),otherwise = ~tibble(estimate    = c(NA_real_),
                                                                       p.value      = c(NA_real_),
                                                                       statistic    = c(NA_real_),
                                                                       std.error    = c(NA_real_),
                                                                       term = c(NA_character_))))
ExpMod_2<-testDat %>% 
  group_by(ID) %>%
  group_modify(.f = ~tidy(possibly(~nls(Mass_Visit ~ a*exp(-b*Days_to_Departure) + c, data = .x,
                                        start = list(a=1.2, b=0.5, c = 3.5),
                                        control = list(maxiter = 500),
                                        trace = T),otherwise = ~list(m = NA_character_))))

이 두 가지 오류는 나에게 의미가 있습니다. 이러한 함수를 패키지화 할 때 중첩 할 수 있는지 또는 수행하려는 작업에 다른 함수를 작성해야하는지 알고 싶습니다. 문제는 제가 많은 모델을 맞추려고 노력하고 있고 많은 실패를 예상한다는 것입니다. 다른 모델들 ... nls, lm, nlme, lmer 등으로 해결할 것입니다.하지만이 모든 것을 맞추고 비교하고 싶습니다. 무엇이 성공하고 어디서 언제 성공하는지 알아야합니다.

미리 감사드립니다. 어떤 제안이나 피드백이라도 대단히 감사하겠습니다.

로낙 샤

구문이 possibly매우 혼란 스럽습니다. 이 작업을 수행하는 방법은 다음과 tryCatch같습니다.

library(tidyverse)

testDat %>% 
  group_by(ID) %>%
  summarise(data = list(tryCatch({
    tidy(nls(Mass_Visit ~ a*exp(-b*Days_to_Departure) + c, data = .x,
            start = list(a=1.2, b=0.5, c = 3.5),
            control = list(maxiter = 500),
            trace = T))
    }, error = function(e) {
      tibble(estimate    = c(NA_real_),
             p.value      = c(NA_real_),
             statistic    = c(NA_real_),
             std.error    = c(NA_real_),
            term = c(NA_character_))
      })))

#     ID data            
#  <int> <list>          
#1     1 <tibble [1 × 5]>
#2     2 <tibble [1 × 5]>
#3     3 <tibble [1 × 5]>
#4     4 <tibble [1 × 5]>

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

dplyr :: mutate 내에서 purrr :: map을 사용하여 모델에 다른 시작 매개 변수를 적용합니다.

분류에서Dev

JAXB 및 Java를 사용하여 여러 계층 수준의 XML 파일에 대한 모델 클래스 생성

분류에서Dev

SpecFlow에서 내 XPath를 사용하는 깔끔한 방법

분류에서Dev

group_by ()를 사용하여 dplyr로 데이터 프레임에 대한 요약 통계 계산

분류에서Dev

Python Openpyxl을 사용하여 Excel에서 데이터를 작성하는 깔끔한 방법이 있습니까?

분류에서Dev

`stargazer ()`를 사용하여 여러 모델에 대한 여러 열 이름 생성

분류에서Dev

`purrr :: map` 내에서`dplyr :: filter`를 사용하는 방법

분류에서Dev

깔끔한 단계를 수집하고 요약 한 후 요소 순서 유지

분류에서Dev

Laravel 모델에서 쿼리를 사용하여 함수 생성

분류에서Dev

var ()를 사용하여 코드 인용에 대한 깔끔한 평가 질문

분류에서Dev

Pandas를 사용하여 쌍 범주를 계산하여 깔끔한 형식의 DataFrame에서 피벗 된 DatafFame을 반환합니다.

분류에서Dev

SQLAlchemy에 의해 생성되지 않은 테이블에 대한 외래 키를 사용하여 모델 생성

분류에서Dev

group_modify와 함께 사용할 때 그룹화 변수를 유지하도록 dplyr group_by 함수 관리

분류에서Dev

깔끔한 평가 : %> % 파이프에 의존하는 사용자 지정 함수에서 dplyr :: na_if를 선택적 인수로 사용하는 방법

분류에서Dev

FactoryGirl : 전용 클래스 메서드를 사용하여 모델에 대한 팩토리 생성 new

분류에서Dev

내 dplyr 백분위 수 계산이 깔끔한 평가에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

깔끔한 생태계에서 by와 동일

분류에서Dev

Rails는 .group 메소드를 사용하는 컨트롤러에 대한 모델을 생성합니다.

분류에서Dev

깔끔한 data.table에서 각 그룹의 발생 횟수를 어떻게 계산합니까?

분류에서Dev

베어 요소 목록을 Purrr 맵에 베어 요소를 허용하는 깔끔한 플롯 함수에 전달하는 방법

분류에서Dev

Rails 모델 설계 결정-HABTM x 2를 사용하여 여러 개의 새 모델 생성 방지

분류에서Dev

Woocommerce 내 계정 페이지를 사용하여 시스템에 등록하는 모든 사용자에 대한 고유 계정 번호 생성

분류에서Dev

다른 모델의 필드 값 접두사를 사용하여 모델에서 고유 ID 생성

분류에서Dev

MATLAB에서 이미지 완성 모델의 패치 오프셋 통계에 그래프 잘라내기를 사용하는 방법

분류에서Dev

Visual Studio를 사용하여 Blazor의 모델에서보기 / 페이지 생성

분류에서Dev

Hyperjaxb를 사용하여 생성 된 JPA 모델에서 열 길이 설정

분류에서Dev

Firebase : Kotlin / Java에서 열거 형 필드를 사용하는 깔끔한 방법?

분류에서Dev

AngularJS에 대한 대규모 시계 컬렉션을 정의하는 깔끔한 방법이 있습니까?

분류에서Dev

purrr을 사용하여 모델을 생성하는 강제 오류

Related 관련 기사

  1. 1

    dplyr :: mutate 내에서 purrr :: map을 사용하여 모델에 다른 시작 매개 변수를 적용합니다.

  2. 2

    JAXB 및 Java를 사용하여 여러 계층 수준의 XML 파일에 대한 모델 클래스 생성

  3. 3

    SpecFlow에서 내 XPath를 사용하는 깔끔한 방법

  4. 4

    group_by ()를 사용하여 dplyr로 데이터 프레임에 대한 요약 통계 계산

  5. 5

    Python Openpyxl을 사용하여 Excel에서 데이터를 작성하는 깔끔한 방법이 있습니까?

  6. 6

    `stargazer ()`를 사용하여 여러 모델에 대한 여러 열 이름 생성

  7. 7

    `purrr :: map` 내에서`dplyr :: filter`를 사용하는 방법

  8. 8

    깔끔한 단계를 수집하고 요약 한 후 요소 순서 유지

  9. 9

    Laravel 모델에서 쿼리를 사용하여 함수 생성

  10. 10

    var ()를 사용하여 코드 인용에 대한 깔끔한 평가 질문

  11. 11

    Pandas를 사용하여 쌍 범주를 계산하여 깔끔한 형식의 DataFrame에서 피벗 된 DatafFame을 반환합니다.

  12. 12

    SQLAlchemy에 의해 생성되지 않은 테이블에 대한 외래 키를 사용하여 모델 생성

  13. 13

    group_modify와 함께 사용할 때 그룹화 변수를 유지하도록 dplyr group_by 함수 관리

  14. 14

    깔끔한 평가 : %> % 파이프에 의존하는 사용자 지정 함수에서 dplyr :: na_if를 선택적 인수로 사용하는 방법

  15. 15

    FactoryGirl : 전용 클래스 메서드를 사용하여 모델에 대한 팩토리 생성 new

  16. 16

    내 dplyr 백분위 수 계산이 깔끔한 평가에서 작동하지 않는 이유는 무엇입니까?

  17. 17

    깔끔한 생태계에서 by와 동일

  18. 18

    Rails는 .group 메소드를 사용하는 컨트롤러에 대한 모델을 생성합니다.

  19. 19

    깔끔한 data.table에서 각 그룹의 발생 횟수를 어떻게 계산합니까?

  20. 20

    베어 요소 목록을 Purrr 맵에 베어 요소를 허용하는 깔끔한 플롯 함수에 전달하는 방법

  21. 21

    Rails 모델 설계 결정-HABTM x 2를 사용하여 여러 개의 새 모델 생성 방지

  22. 22

    Woocommerce 내 계정 페이지를 사용하여 시스템에 등록하는 모든 사용자에 대한 고유 계정 번호 생성

  23. 23

    다른 모델의 필드 값 접두사를 사용하여 모델에서 고유 ID 생성

  24. 24

    MATLAB에서 이미지 완성 모델의 패치 오프셋 통계에 그래프 잘라내기를 사용하는 방법

  25. 25

    Visual Studio를 사용하여 Blazor의 모델에서보기 / 페이지 생성

  26. 26

    Hyperjaxb를 사용하여 생성 된 JPA 모델에서 열 길이 설정

  27. 27

    Firebase : Kotlin / Java에서 열거 형 필드를 사용하는 깔끔한 방법?

  28. 28

    AngularJS에 대한 대규모 시계 컬렉션을 정의하는 깔끔한 방법이 있습니까?

  29. 29

    purrr을 사용하여 모델을 생성하는 강제 오류

뜨겁다태그

보관