R의 회귀에서 상호 작용을 작성하는 방법은 무엇입니까?

Leonhardt Guass
DF <- data.frame(factor1=rep(1:4,1000), factor2 = rep(1:4,each=1000),base = rnorm(4000,0,1),dep=rnorm(4000,400,5))

DF$f1_1 = DF$factor1 == 1
DF$f1_2 = DF$factor1 == 2
DF$f1_3 = DF$factor1 == 3
DF$f1_4 = DF$factor1 == 4

DF$f2_1 = DF$factor2 == 1
DF$f2_2 = DF$factor2 == 2
DF$f2_3 = DF$factor2 == 3
DF$f2_4 = DF$factor2 == 4

다음 회귀를 실행하고 싶습니다.

Dep = (f1_1 + f1_2 + f1_3 + f1_4)*(f2_1 + f2_2 + f2_3 + f2_4)*(base+base^2+base^3+base^4+base^5)   

더 현명한 방법이 있습니까?

리 제 위안

당신은 코딩해야 factor1하고 factor2실제 요인 변수로. 또한 poly다항식 에 사용하는 것이 좋습니다 . 우리가 할 수있는 일은 다음과 같습니다.

DF <- data.frame(factor1=rep(1:4,1000), factor2 = rep(1:4,each=1000),
                 base = rnorm(4000,0,1), dep = rnorm(4000,400,5))

DF$factor1 <- as.factor(DF$factor1)
DF$factor2 <- as.factor(DF$factor2)

fit <- lm(dep ~ factor1 * factor2 * poly(base, degree = 5))

기본적 poly으로 수치 안정성에 대한 직교 기반을 생성합니다. 당신은 같은 일반 다항식하려면 base + base ^ 2 + base ^ 3 + ...사용을 poly(base, degree = 5, raw = TRUE).

당신이 사이 수준의 각 쌍에 대한 5 차 다항식 피팅되므로주의, 당신은이 모델에서 매개 변수를 많이 얻을 것이다 factor1하고 factor2.


작은 예를 고려하십시오.

set.seed(0)
f1 <- sample(gl(3, 20, labels = letters[1:3]))    ## randomized balanced factor
f2 <- sample(gl(3, 20, labels = LETTERS[1:3]))    ## randomized balanced factor
x <- runif(3 * 20)  ## numerical covariate
y <- rnorm(3 * 20)  ## toy response

fit <- lm(y ~ f1 * f2 * poly(x, 2))

#Call:
#lm(formula = y ~ f1 * f2 * poly(x, 2))
#
#Coefficients:
#        (Intercept)                  f1b                  f1c  
#            -0.5387               0.8776               0.1572  
#                f2B                  f2C          poly(x, 2)1  
#             0.5113               1.0139               5.8345  
#        poly(x, 2)2              f1b:f2B              f1c:f2B  
#             2.4373               1.0666               0.1372  
#            f1b:f2C              f1c:f2C      f1b:poly(x, 2)1  
#            -1.4951              -1.4601              -6.2338  
#    f1c:poly(x, 2)1      f1b:poly(x, 2)2      f1c:poly(x, 2)2  
#           -11.0760              -2.3668               1.9708  
#    f2B:poly(x, 2)1      f2C:poly(x, 2)1      f2B:poly(x, 2)2  
#            -3.7127              -5.8253               5.6227  
#    f2C:poly(x, 2)2  f1b:f2B:poly(x, 2)1  f1c:f2B:poly(x, 2)1  
#            -7.3582              20.9179              11.6270  
#f1b:f2C:poly(x, 2)1  f1c:f2C:poly(x, 2)1  f1b:f2B:poly(x, 2)2  
#             1.2897              11.2041              12.8096  
#f1c:f2B:poly(x, 2)2  f1b:f2C:poly(x, 2)2  f1c:f2C:poly(x, 2)2  
#            -9.8476              10.6664               4.5582  

3 개의 요인 수준과 3 차 다항식의 경우에도 이미 많은 수의 계수로 끝납니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

회귀 상호 작용 항을 간결한 형식으로 설명하는 방법은 무엇입니까?

분류에서Dev

Worklight에서 기본 및 하이브리드 애플리케이션 간의 상호 작용을 달성하는 방법은 무엇입니까?

분류에서Dev

NSTextView의 사용자 상호 작용을 비활성화하는 방법은 무엇입니까?

분류에서Dev

AsyncTask의 "UI 상호 작용"을 구성하는 것은 무엇입니까?

분류에서Dev

UITableView에 대한 섹션 인덱스의 사용자 상호 작용을 비활성화하는 방법은 무엇입니까?

분류에서Dev

UWP의 주 창 위에 NewWindow를 열고 배경 창 (MainWindow) 상호 작용을 비활성화하는 방법은 무엇입니까?

분류에서Dev

R의 회귀 모델에서 ICD10 코드를 사용하는 방법은 무엇입니까?

분류에서Dev

UWP WebView에서 DOM과 상호 작용하는 방법은 무엇입니까?

분류에서Dev

재귀에서 일회성 작업을 수행하는 방법은 무엇입니까?

분류에서Dev

JSP에서 상대 URL을 작성하는 방법은 무엇입니까?

분류에서Dev

AnyLogic의 단순한 진화 게임에서 에이전트의 상호 작용을 제어하는 방법은 무엇입니까?

분류에서Dev

Python에서 상수 모델 (회귀)을 훈련하는 방법은 무엇입니까?

분류에서Dev

R에서 lmer 회귀 모델에 대한 추정값을 플로팅하는 방법은 무엇입니까?

분류에서Dev

Ant Design의 Popover 콘텐츠와의 상호 작용을 테스트하는 방법은 무엇입니까?

분류에서Dev

메시지 대기열을 통한 상호 작용을 문서화하는 방법은 무엇입니까?

분류에서Dev

일련의 상호 작용을 테스트하는 방법은 무엇입니까?

분류에서Dev

터미널과 셸 간의 상호 작용을보고 / 디버그하는 방법은 무엇입니까?

분류에서Dev

VegaLite / Altair 플롯과의 상호 작용에서 외부에서 신호 / 이벤트를 방출하는 데 대한 해결 방법은 무엇입니까?

분류에서Dev

재귀 클래스 템플릿을 사용하여 C ++ 11에서 튜플의 내용을 작성하는 방법은 무엇입니까?

분류에서Dev

상호 작용 플롯 (`ggplot2`;`interactions`)의 개별 패싯에 텍스트에 주석을 추가하는 방법은 무엇입니까?

분류에서Dev

재귀 하강 파서의 일부에 대한 코드를 작성하는 방법은 무엇입니까?

분류에서Dev

유닉스 grep이 상호 작용할 수 있도록 루프의 항목을 콘솔에 인쇄하는 방법은 무엇입니까?

분류에서Dev

사람의 상호 작용없이 특정 시간에 프로그램을 자동으로 실행하는 방법은 무엇입니까?

분류에서Dev

Android에서 사용자 상호 작용없이 이메일을 보내는 방법은 무엇입니까?

분류에서Dev

파일 시스템과의 단위 테스트 상호 작용에 좋은 방법은 무엇입니까?

분류에서Dev

재귀 함수에 대한 메서드 정의를 작성하는 방법은 무엇입니까?

분류에서Dev

Nginx에서 @ 기호를 다시 작성하는 방법은 무엇입니까?

분류에서Dev

Octave의 Andrew Ng 할당에서 비용 함수 공식을 작성하는 방법은 무엇입니까?

분류에서Dev

F #에서 WPF 사용자 정의 컨트롤을 작성하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    회귀 상호 작용 항을 간결한 형식으로 설명하는 방법은 무엇입니까?

  2. 2

    Worklight에서 기본 및 하이브리드 애플리케이션 간의 상호 작용을 달성하는 방법은 무엇입니까?

  3. 3

    NSTextView의 사용자 상호 작용을 비활성화하는 방법은 무엇입니까?

  4. 4

    AsyncTask의 "UI 상호 작용"을 구성하는 것은 무엇입니까?

  5. 5

    UITableView에 대한 섹션 인덱스의 사용자 상호 작용을 비활성화하는 방법은 무엇입니까?

  6. 6

    UWP의 주 창 위에 NewWindow를 열고 배경 창 (MainWindow) 상호 작용을 비활성화하는 방법은 무엇입니까?

  7. 7

    R의 회귀 모델에서 ICD10 코드를 사용하는 방법은 무엇입니까?

  8. 8

    UWP WebView에서 DOM과 상호 작용하는 방법은 무엇입니까?

  9. 9

    재귀에서 일회성 작업을 수행하는 방법은 무엇입니까?

  10. 10

    JSP에서 상대 URL을 작성하는 방법은 무엇입니까?

  11. 11

    AnyLogic의 단순한 진화 게임에서 에이전트의 상호 작용을 제어하는 방법은 무엇입니까?

  12. 12

    Python에서 상수 모델 (회귀)을 훈련하는 방법은 무엇입니까?

  13. 13

    R에서 lmer 회귀 모델에 대한 추정값을 플로팅하는 방법은 무엇입니까?

  14. 14

    Ant Design의 Popover 콘텐츠와의 상호 작용을 테스트하는 방법은 무엇입니까?

  15. 15

    메시지 대기열을 통한 상호 작용을 문서화하는 방법은 무엇입니까?

  16. 16

    일련의 상호 작용을 테스트하는 방법은 무엇입니까?

  17. 17

    터미널과 셸 간의 상호 작용을보고 / 디버그하는 방법은 무엇입니까?

  18. 18

    VegaLite / Altair 플롯과의 상호 작용에서 외부에서 신호 / 이벤트를 방출하는 데 대한 해결 방법은 무엇입니까?

  19. 19

    재귀 클래스 템플릿을 사용하여 C ++ 11에서 튜플의 내용을 작성하는 방법은 무엇입니까?

  20. 20

    상호 작용 플롯 (`ggplot2`;`interactions`)의 개별 패싯에 텍스트에 주석을 추가하는 방법은 무엇입니까?

  21. 21

    재귀 하강 파서의 일부에 대한 코드를 작성하는 방법은 무엇입니까?

  22. 22

    유닉스 grep이 상호 작용할 수 있도록 루프의 항목을 콘솔에 인쇄하는 방법은 무엇입니까?

  23. 23

    사람의 상호 작용없이 특정 시간에 프로그램을 자동으로 실행하는 방법은 무엇입니까?

  24. 24

    Android에서 사용자 상호 작용없이 이메일을 보내는 방법은 무엇입니까?

  25. 25

    파일 시스템과의 단위 테스트 상호 작용에 좋은 방법은 무엇입니까?

  26. 26

    재귀 함수에 대한 메서드 정의를 작성하는 방법은 무엇입니까?

  27. 27

    Nginx에서 @ 기호를 다시 작성하는 방법은 무엇입니까?

  28. 28

    Octave의 Andrew Ng 할당에서 비용 함수 공식을 작성하는 방법은 무엇입니까?

  29. 29

    F #에서 WPF 사용자 정의 컨트롤을 작성하는 방법은 무엇입니까?

뜨겁다태그

보관