Я пытаюсь разработать сценарий, в котором пользователь может выбирать, какие «тесты» выполнять со своими данными. Я хочу попросить пользователя ввести имя своего набора данных, а затем автоматически заменить имя своих данных на имя по умолчанию, чтобы код мог выполнять другие тесты (я не знаю, как сделать «заполнитель» для имя, которое вводит пользователь).
readline
не может этого сделать, поскольку он собирает только введенное имя как символ, а не имя объекта. Я искал любые возможные решения, но не нашел ни одного.
Есть идеи?
Моя функция следующая:
{ inputNumber <- function(prompt) {
while(TRUE) {
num<-suppressWarnings(as.numeric(readline(prompt)))
if(!is.na(num)) {
return(num)
}
}
}
displayMenu2 <- function(options2) {
# Usage: choice2 = displayMenu2(options2)
# Displays a menu of options,
# ask the user to choose an item,
# and return the number of the menu item chosen.
#
# Input options Menu options (cell array of strings)
# Output choice Chosen option (integer)
# Display menu options
for (i in 1:length(options2)) {
cat(sprintf("%d. %s\n", i, options2[i]))
}
# Gets a valid menu choice
choice2 <- 0
while (!any(choice2 == 1:length(options2))) {
choice2 = inputNumber("Please choose a menu item: ")
}
return(choice2)
}
# Define menu options
menuItems2 <- c("Main Data", "Test Data", "Unknown Data")
while(TRUE) {
# Displays the menu
choice2 <- displayMenu2(menuItems2)
if(choice2 == 1) {
#This is where the issue is; readline() takes the input and delivers it as a character
#I want it to remain as an object which includes all data within object
print("Main data selection")
main_data_selection<-as.data.frame(invisible(readline(prompt="Enter main data name: ")))
main_data_selection_bc<-main_data_selection
print("Data has been stored as: main_data_selection")
}
#More stuff happens after this...
}