R:如何为功能创建用户输入向量?

时间:2019-01-20 03:22:50

标签: r

我具有查找异常值的功能。效果很好,除非我弄错了。

在这种情况下,我需要一直回到开头。

该函数绘制数据框中每个变量的分布,并在与异常值相关的索引上要求用户输入。

这是函数的部分。它嵌入在for循环中。

    #mark the extreme outliers, the rest are reasonable outliers
    A <- colnames(df_out_id[i])

    P <- readline(prompt="Would you like to see the full table of outliers? (enter to skip): ")
    if(P == 0 | length(P) > 1){print("Reminder: the following questions identify outliers")}
    if(P == "y" | P == "Y"){View(Outliers)}

    W <- as.numeric(readline(prompt="Enter the index for first Extreme value on the lower limit (if none, enter 0): "))
    Q <- as.numeric(readline(prompt="Enter the index for final Extreme value on the upper limit (if none, enter 0): "))

    col <- df_out_id[i]
    df_out_id[i] <- sapply(col[[1]], function(x){
      if(Q>1 & x %in% Outliers$curr_column[1:Q]) return('Extreme')
      if(W>1 & x %in% Outliers$curr_column[W:length(Outliers$curr_column)]) return('Extreme')
      else if (x %in% Outliers$curr_column[Q+1:length(Outliers$curr_column)]) return('Reasonable')
      else return('Non-Outlier')
    })

  }

  #return a dataframe with outlier status, excluding the outlier ID columns
  summary(df_out_id)
  return(df_out_id[1:(length(names(df_out_id))-3)])
}

完整功能为GetOutliers(),如here所述。

是否可以将任何输入保存到向量,然后在函数末尾打印它们?

具体来说,在功能成功完成或过程中中止的情况下打印它们。

0 个答案:

没有答案