R
-
[R] dplyr::mutate 함수에서 좌변에 object 쓰기R 2021. 1. 26. 15:14
dplyr::mutate({{object}} := value or vector)
-
-
[R] caret 패키지 classProbs = TRUE 시 summaryFunctionR 2020. 12. 19. 17:07
1. classProbs = TRUE 인 경우 반응변수의 factor level 이름이 "TRUE", "FALSE" 이면 안된다. 2. caret::train 함수 내 evalSummaryFunction 에서 마지막줄 ctrl$summaryFunction 에 들어가면 classProbs = TRUE 일 때 인자 data의 컬럼명은 - pred, obs, factor level1, factor level2, rowIndex 이다. 3. 이에 맞춰서 confusionMatrix 함수의 인자 넣어야 한다.
-
[R] 함수에 대하여R 2020. 12. 3. 14:22
1. 함수는 다른 함수의 인자(argument)로 쓰일 수 있다. 2. 함수 내에 함수를 정의할 수 있다. 3. 함수 호출 시 인자 매칭(matching) 순서는 exact > partial > position 이다. 4. 에러가 발생하지 않는 한, 사용하지 않는 인자가 함수에 있어도 무방하다.(lazy evaluation) 5. 함수 탐색 순서는 search() 를 통해 확인 가능하다. - global environment 일등, base package 꼴지 - 새로운 패키지 library 로 로드하면 자동 2등 6. 함수명과 함수가 아닌 object명은 같은 걸 사용해도 R에서 구분하여 작동한다. 7. Lexical scoping - 함수의 인자 리스트에는 없지만 함수에 사용되는 변수를 free va..
-
[R] caret 패키지 confusion matrix (2 by 2 case)R 2020. 11. 12. 11:10
예측 관측 Event Not event Event A B Not Event C D 1. precision = A / (A + B) 2. recall = A / (A + C) 3. F1 = 2 * precision * recall / (precision + recall) 만약 factor 수준의 알파벳에 의해 event level 이 나중에 나온다면, 즉 FALSE (not event) TRUE (event) FALSE (not event) D, cell1 C, cell2 TRUE (event) B, cell3 A, cell4 이라면 F1은 cell 순서는 위와 같다. 결론적으로 cell 순서는 row-major order로 (1, 1) 에서 (2, 2)로 번호가 달린다. 따라서 위의 예제에서 cell1 ..
-
[R] k-fold cv using caret packageR 2020. 11. 3. 17:56
k_fold_cv = function(data, .y_name, .repeated = TRUE, .repeated_times = 5, .seed_number = 777) { library(caret) library(data.table) set.seed(.seed_number) y = unlist(data[, y_name, with = FALSE]) if(repeated){ cv_splits = caret::createMultiFolds(y, k = .num_folds, times = .repeat_times) } else{ cv_splits = caret::createMultiFolds(y, k = .num_folds, returnTrain = TRUE) } return(cv_splits) }