Я уверен, что этот вопрос, возможно, уже задавался, но я не смог найти ответ на мое удовлетворение.
Таким образом, в моей задаче я определил функцию (см. Ниже), которая должна принимать переменную (x) и проверьте, является ли его часть кадра данных (y). Функция должна затем запрашивать приглашение, пока оно не станет частью указанного фрейма данных.
Однако, когда я его запускаю, он не перезаписывает переменную внутри функции, так что глобальная переменная окружения также изменяется. Таким образом, var1 должен хранить значение, которое я дал через приглашение внутри функции.
Thx:)
#Function
fn_Valid_prompt <- function(x, y, boolOP= FALSE){
while(is.element(x, colnames(y)) == boolOP){
cat("A")
x <<- readline(prompt="Please enter variable: ")
}
if (is.element(x, colnames(y)) != boolOP){
cat(green(bold("Success!")))}
}
#
var1 <- "V1"
data <- c(1:9)
metadata <- as.data.frame(matrix(data,3,3))
fn_Valid_prompt(var1, metadata, boolOP= FALSE)