Tôi muốn viết một chức năng hiển thị cho người dùng thông báo trạng thái hiển thị nội dung như thời gian, phần trăm hoàn thành và trạng thái hiện tại của quy trình. Tôi có thể xử lý việc lắp ráp tin nhắn, nhưng tôi muốn làm một cái gì đó khác hơn là chỉ in ra bàn điều khiển và nó di chuyển lên, một tin nhắn sau cái kia. Tôi thực sự muốn tin nhắn thay đổi mà không cần cuộn như message()
và không có bất kỳ đồ họa nào. Điều này có thể với R?hiển thị thông báo trạng thái trong R
Trả lời
Làm thế nào về một cái gì đó như thế này?
for(i in 1:10) {
Sys.sleep(0.2)
# Dirk says using cat() like this is naughty ;-)
#cat(i,"\r")
# So you can use message() like this, thanks to Sharpie's
# comment to use appendLF=FALSE.
message(i,"\r",appendLF=FALSE)
flush.console()
}
Không sử dụng 'cat()', sử dụng 'message()' (có thể bị chặn) như được thảo luận trên một bài đăng R-bloggers ngày hôm nay tranh luận với 'cat()'. –
@Dirk: Nó sẽ phải là 'message (..., appendLF = FALSE)' --- nếu không thì các tin nhắn cuộn sẽ xuất hiện trên bàn điều khiển mà OP đặc biệt muốn tránh. – Sharpie
@Dirk thay thế 'cat()' bằng 'message()' thêm một dòng mới với mỗi lần cập nhật. Bạn có phải làm gì đó để ngăn chặn dòng mới không? FWIW, 'txtProgressBar' sử dụng' cat() '. –
Có thể có nhiều cách thanh lịch để làm điều này, nhưng điều này có thể làm điều đó:
test.message <- function() {
for (i in 1:9){
cat(i)
Sys.sleep(1)
cat("\b")
}
}
Nếu bạn đang tự động tạo ra thông điệp của bạn, bạn sẽ cần phải tính toán có bao nhiêu ký tự \ b để đầu ra để sao lưu số tiền chính xác, nhưng điều đó khá đơn giản.
Gói utils
chứa txtProgressBar
và các chức năng để cập nhật nó có thể được sử dụng để hiển thị phần trăm hoàn thành quy trình.
Xem các chức năng up1
, up2
và up3
được tạo trong khi gọi đến txtProgressBar
để biết các ví dụ về cách cập nhật được xử lý mà không cần cuộn bảng điều khiển.
Thật tuyệt vời! Bạn cũng có thể tạo và thiết lập chức năng cập nhật của riêng bạn thông qua: 'tpb <- txtProgressBar (...); myUpFun <- function (value) {...}; tpb $ lên <- myUpFun'. Sau đó, bạn có thể viết một hàm cập nhật bằng cách sử dụng 'message()' để Dirk có thể ngăn chặn tiếng ồn. ;-) –
@Joshua: Quan sát tốt! Khi tôi đang cân nhắc việc tạo một hàm cập nhật tùy chỉnh, tôi đã hình dung phải sao chép và viết lại 'txtProgressBar()' để thực hiện nó. – Sharpie
Ngoài ra còn có 'plyr :: progress_text'. Đó là một trình bao bọc đơn giản cho 'txtProgressBar', mặc dù ... – aL3xa
Đây là một số bling bling. Từ ?tcltk::tkProgressBar
.
pb <- tkProgressBar("test progress bar", "Some information in %",
0, 100, 50)
Sys.sleep(0.5)
u <- c(0, sort(runif(20, 0 ,100)), 100)
for(i in u) {
Sys.sleep(0.1)
info <- sprintf("%d%% done", round(i))
setTkProgressBar(pb, i, sprintf("test (%s)", info), info)
}
Sys.sleep(5)
close(pb)
thực sự tuyệt vời để có đầy đủ, nhưng nhu cầu hiện tại của tôi là dành cho giải pháp văn bản duy nhất. –
Tôi đã không đọc câu hỏi của bạn để kết thúc khi tcltk xuất hiện. Đó là một câu trả lời thúc đẩy, mà tôi xin lỗi. Có lẽ bạn từ tương lai sẽ cần nó một ngày nào đó. –
+1 Tuyệt vời. Nó thậm chí còn truyền cảm hứng cho tôi để tìm hiểu một chút về TclTk. – Iterator
- 1. thông báo trên thanh trạng thái trong điện thoại android
- 2. Hiển thị đổi tên trong trạng thái hg?
- 3. Android - EditText trên thông báo trạng thái
- 4. Trạng thái Asynctask luôn hiển thị chạy
- 5. Xóa biểu tượng thông báo khỏi thanh trạng thái
- 6. Drupal: drupal_set_message không hiển thị thông báo
- 7. AVPlayer, thông báo cho trạng thái phát/tạm dừng?
- 8. Cách hiển thị trạng thái "Đang tải" trong Android?
- 9. Tạo một thông báo liên tục và ngăn cảnh báo trong thanh trạng thái
- 10. Rails JS Response, hiển thị cả trạng thái và mẫu?
- 11. Thông báo Không hiển thị
- 12. Apache - Proxy ngược và thông báo trạng thái HTTP 302
- 13. Android Hiển thị thông báo trên thanh trạng thái mà không có chế độ xem có thể mở rộng
- 14. Android: Quản lý nhiều thông báo trên thanh trạng thái
- 15. .gitignore hiển thị khi tôi chạy trạng thái git
- 16. Android: hiển thị/ẩn thanh trạng thái/thanh công suất
- 17. UIButton hiển thị trạng thái đã chọn trên tap
- 18. Trạng thái thiết lập bản sao Mongodb hiển thị "RECOVERING"
- 19. Thông báo Android- Hiển thị toàn bộ thông báo
- 20. Nhiều thông báo có một biểu tượng trên thanh trạng thái trong android
- 21. cách xử lý thông báo lỗi: Trạng thái phiên không có sẵn trong ngữ cảnh này
- 22. Thông báo hiển thị Android từ BroadcastReceiver
- 23. Hiển thị thông báo C# chỉ
- 24. Hiển thị Thông báo Lỗi với Sinatra
- 25. Android cách hiển thị thông báo trên màn hình
- 26. Plugin thông điệp trạng thái jQuery tốt nhất?
- 27. Asp.net Webform Hiển thị Thông báo và chuyển hướng
- 28. R sáng bóng: hiển thị thông báo "loading ..." khi chức năng đang chạy
- 29. Làm cách nào để thêm trạng thái tệp git vào trạng thái của vim?
- 30. cách đơn giản nhất để hiển thị httpServletResponse.sendError là gì (403, "Thông điệp của tôi") trạng thái từ JSTL
"Đây là R. Không có nếu. Chỉ như thế nào." --Simon Blomberg –