2017-12-14 60 views
5

Tôi cố gắng để lưu các bản ghi của một thúc đẩy sử dụng sink chức năng, như đoạn mã sau:Làm cách nào để sử dụng bồn rửa và vẫn nhận được tin nhắn được in bằng 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() 

Tuy nhiên tôi không thể nhìn thấy "những gì đang xảy ra" vì nó không in ra của chức năng và/hoặc tin nhắn.

Câu hỏi của tôi là làm cách nào để tôi có thể truy xuất cả tệp .txt với sink và xem chức năng (trong trường hợp này là xgb.cv) đang được in?

Cảm ơn bạn!

Trả lời

6

Sử dụng lập luận 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() 

Như bạn thấy ở trên nó cả hai sẽ in trên bàn điều khiển và bạn cũng sẽ tìm thấy một tập tin test.txt trong thư mục hiện tại của bạn.

+0

Điều đó thật hiển nhiên! Và hoàn hảo. Cảm ơn bạn!!! – patL

+1

Bạn được chào đón, vui vì tôi có thể giúp :) – LyzandeR

Các vấn đề liên quan