서울대 R 방학 특강 자료

댓글

  1. 교수님 오늘 수업해주셨던 내용중에 {car:ncvTest}가 glm객체에서는 실행되지 않는 것 같습니다.
    (Error in ncvTest.glm(fit) : requires lm object)
    {car.ncvTest}말고 분산 동질성 검사를 할 수 있는 다른 함수가 있는지요?

    또 http://www.ats.ucla.edu/stat/r/dae/logit.htm 여기에 따르면, logistic regression 회귀진단은 OLS와 다르다고 하는데, 어떤 부분이 다르고 R에서는 어떻게 할 수 있는지 궁금합니다.

    답글삭제
    답글
    1. 제가 된다고 했던가요... ncvTest() 도 glm 객체를 받기는 하지만 (ncvTest.glm()이 있다는 의미) 그냥 에러 토하고 실행 종료될 것입니다. GLM에서는 잔차 구조에 대한 가정만 잘 세우면 되고, 선형성 가정은 만족시켜야 합니다. Breusch-Pagan test를 수행할 이유는 없답니다. 분산동질보다는 분산안정화라고 이야기하지요. logit regression 역시 GLM의 일종이라서 다음 가정을 만족하면 됩니다: independence of each data points; correct distribution of the residuals; correct specification of the variance structure; linear relationship between response and predictors.

      삭제
    2. 교수님 marginal r-squared와 conditional r-squared가 뭔가요? 뭐가 다른가요?

      삭제
    3. Mix model? Marginal R^2는 fixed effect과 관련된 것이고 Conditional R^2는 mixed effect과 random effect을 함께 고려한 것입니다.

      삭제
    4. 참고로 {lme4} 패키지의 lmer()의 객체를 받아서 R> mf <- lmer(...) 이렇게 되면 {MuMIn} 패키지의 r.squaredGLMM(mf)로 R2m (= marginal), R2c(= conditional)을 계산해 볼 수 있습니다.

      삭제
    5. 그럼 컨디셔널을 써야겠군요. {MuMIn} 패키지로 계산해 보았답니다. 감사합니다.

      삭제
  2. 덧글을 여기에 써야 하는군요.

    답글삭제
  3. 교수님 안녕하세요~ 항상 좋은 강의 감사드립니다.

    간단한 질문이 있는데, 어제 3번째 강의 슬라이드에 추가해 주신 부분 중에
    OLS model and output 슬라이드에서
    reg.model <- lm(log(wege) ~ school + female)로 만든 lm객체가 있는데, 어떤 데이터를 사용한건지 궁금합니다.

    require(car) / require(mass) / require(faraway)를 하고, data()로 각 package에 포함되어 있는 data set을 봤는데 어떤 data set인지 잘 모르겠네요 ㅠㅠ

    답글삭제
  4. 어제 말씀하신 plspm 책 좀 공유 부탁드립니다. minhui2@empas.com

    답글삭제
    답글
    1. latent variable analysis 의 저자는 누구이죠?

      삭제
    2. A. Alexander Beaujean. 2014. Latent Variable Modeling Using R -A Step-by-Step Guide-. Routledge.
      아마존에서 구매 가능합니다.

      삭제
    3. 도서관에 신청했습니다. 3월 이후에 구매 가능하다네요.

      삭제
    4. 저희 방에서 구매한거 있으니 급히 필요하시면 보셔요 :)

      삭제
  5. 작성자가 댓글을 삭제했습니다.

    답글삭제
  6. {plspm}에서 missing value를 어떻게 처리하는지 궁금합니다..
    다음과 같은 코드를 통해 기존에 갖고 있는 데이터에서 factor score를 뽑아내려고 했는데

    이런 에러메세지가 뜹니다.
    Error in if (w_dif < specs$tol || iter == specs$maxiter) break :
    missing value where TRUE/FALSE needed

    plspm함수의 scaling인자를 통해 missing value를 걸러내려 했는데, 잘 안되는 것 같습니다..


    factor <- read.csv(file.choose(), header=T)
    head(factor)
    factor[factor==-1] <- NA

    enha = rep(0, 14)
    soci = rep(0, 14)
    conf = rep(0, 14)
    cop = rep(0, 14)
    opl = rep(0, 14)
    opf = rep(0, 14)
    crea_choi = rep(0, 14)
    unpop_choi = rep(0, 14)
    avoid_sim = rep(0, 14)
    self = rep(0, 14)
    pcon = rep(0, 14)
    pview = rep(0, 14)
    acon = rep(0, 14)
    aviewl = rep(0, 14)

    path=rbind(enha, soci, conf, cop, opl, opf, crea_choi, unpop_choi, avoid_sim, self, pcon, pview, acon, aviewl)

    blocks = list(1:5, 6:10, 11:15, 16:20, 21:26, 27:32, 33:36, 37:40, 41:44, 45:54, 55:59, 60:65, 66:70, 71:75)

    scal = list(c(rep("NUM",5)),c(rep("NUM",5)),c(rep("NUM",5)),c(rep("NUM",5)),c(rep("NUM",6)),c(rep("NUM",6)),
    c(rep("NUM",4)),c(rep("NUM",4)),c(rep("NUM",4)),c(rep("NUM",10)),c(rep("NUM",5)),c(rep("NUM",6)),
    c(rep("NUM",5)),c(rep("NUM",5)))

    modes = rep("A", 14)

    factor.scores = plspm(factor2, path, blocks, modes = modes, scaling = scal)

    답글삭제
  7. R에서 엑셀의 vlookup함수 기능을 사용할 수 있는 패키지나 방법이 있는지도 궁금합니다!

    답글삭제
  8. 마지막 6회차 수업 ppt5페이지에 선 그래프 그리는 법 코드 중 오류가 있습니다.

    for문으로 tree의 종류를 구분해서 line을 그리는 코드입니다.

    for (i in 1:ntrees) {
    tree <- subset(Orange, Tree=i)
    lines(tree$age, tree$circumference, type="b", lwd=1.5,
    lty=linetype[i], col=colors[i], pch=plotchar[i])
    }

    두 번째 줄에 원래는 tree <- subset(Orange, Tree=i)로 되어 있는데, for문이 돌아가는데는 문제가 없으나, subset 함수가 제대로 돌아가지 않아 Orange의 tree별 5가지 subset이 만들어 지는 것이 아니라, Orange object자체가 그냥 나와버립니다.
    두 번째 줄에 subset(Orange, Tree=i)을 subset(Orange,Tree==i)로 바꾸면 문제없이 돌아갑니다.
    혹시나 연습삼아 해볼때 참고바랍니다 :)

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

R에서 csv 파일 읽는 법

xlwings tutorial - 데이터 계산하여 붙여 넣기