2017-12-14 14 views
5

나는 다음과 같은 코드로, 승압 사용 sink 함수의 로그를 저장하려고 : 싱크대를 사용하고 R에서 메시지를 인쇄하려면 어떻게해야합니까?

require(xgboost) 
require(R.utils) 

data(iris) 
train.model <- model.matrix(Sepal.Length~., iris) 

dtrain <- xgb.DMatrix(data=train.model, label=iris$Sepal.Length) 

xgb_grid = list(eta = 0.05, max_depth = 5, subsample = 0.7, gamma = 0.3, 
    min_child_weight = 1) 

sink("evaluationLog.txt") 
fit_boost <-xgb.cv(data = dtrain, 
        nrounds  = 1000, 
        objective = "reg:linear", 
        eval_metric = "logloss", 
        params = xgb_grid, 
        colsample_bytree = 0.7, 
        early_stopping_rounds = 100, 
        nfold = 5, 
        prediction = TRUE, 
        maximize = FALSE 
       ) 

sink() 

그러나 나는 그것이 함수의 출력 및/또는 메시지를 인쇄하지 이후 "무슨 일이 일어나고있는"볼 수 없습니다.

제 질문은 .txt 파일을 sink과 함께 검색하고이 경우 어떤 기능 (이 경우 xgb.cv)이 인쇄되는지 어떻게 볼 수 있습니까?

감사합니다.

답변

6

사용 인수 split :

sink('test.txt', split = TRUE) 
print(letters) 
# [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" 
#[18] "r" "s" "t" "u" "v" "w" "x" "y" "z" 
sink() 

는 모두 콘솔에 인쇄됩니다 그 위에 확인하실 수 있으며, 또한 현재 디렉토리에 test.txt 파일을 찾을 수있다.

+0

너무 분명합니다! 그리고 완벽 해. 고맙습니다!!! – patL

+1

당신은 환영받을 수있어서 다행입니다 :) – LyzandeR