[英]Using askYesNo in a repeat loop in R
我正在嘗試編寫一段代碼,它將向您顯示一個數據框,然后有一個彈出框詢問您是否對那里的值感到滿意。 我用過 askYesNo,但我不依附於此。
我想這樣做,如果您選擇“是”,它將繼續使用彈出框重復代碼,直到您選擇“否”。
我的問題是它會重復代碼,但也不會重復彈出框,因此它無處可破解。
如果可能的話,我還希望代碼看起來很基本。 我很難理解大塊的代碼。 行越少越好,但我會盡我所能。
這是我一直在嘗試的代碼(因為這是一個測試,其中一些代碼很混亂並且名稱不具代表性。它與更大的代碼位相關,我試圖在測試站中使其更容易):
rasch_test <- data.frame(a=rnorm(3), b=rnorm(3), c=rnorm(3))
params_test <- rasch_test
item_parameters_test <- params_test[,-c(ncol(params_test))]
if(any(abs(item_parameters_test)>0.5)) {
html_print(pre(paste0(capture.output(print(item_parameters_test)), collapse="\n")))}
CHOICE<- askYesNo("ARE YOU WORRIED ABOUT THE RANGE OF THESE VALUES?")
if (CHOICE == "TRUE"){
repeat {
rasch_test <- data.frame(a=rnorm(3), b=rnorm(3), c=rnorm(3))
params_test <- rasch_test
item_parameters_test <- params_test[,-c(ncol(params_test))]
html_print(pre(paste0(capture.output(print(item_parameters_test)), collapse="\n")))}
CHOICE<- askYesNo("ARE YOU WORRIED ABOUT THE RANGE OF THESE VALUES?")
if (CHOICE == FALSE){
break
}
}
if (CHOICE == "FALSE"){
print("you chose no")
}
您可以將 askYesNo 調用放在while()
條件中,如下所示:
library(htmltools)
new_table <- function() {
rasch_test <- data.frame(a=rnorm(3), b=rnorm(3), c=rnorm(3))
params_test <- rasch_test
params_test[,-c(ncol(params_test))]
}
tbl = new_table()
if(any(abs(tbl)>0.5)) {
html_print(pre(paste0(capture.output(print(tbl)), collapse="\n")))}
while(askYesNo("ARE YOU WORRIED ABOUT THE RANGE OF THESE VALUES?")) {
html_print(pre(paste0(capture.output(print(new_table())), collapse="\n")))}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.