覆盖函数内部变量

问题描述 投票:1回答:1

我确定可能已经有人问过这个问题,但是我找不到满意的答案。

所以我的问题是我定义了一个函数(请参见下文),该函数应采用变量(x)并检查其是否属于数据帧(y)。然后,该函数应该要求一个promt,直到它成为所述数据帧的一部分为止。

但是,当我让它运行时,它不会覆盖函数内部的变量,因此全局环境变量也会更改。因此,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)
r function prompt
1个回答
0
投票

以下版本有效,尽管我不确定您是否打算使用此代码:

© www.soinside.com 2019 - 2024. All rights reserved.