Итак, я пишу приложение, которое позволяет пользователю вводить некоторые основные операции с использованием матрицы.В одной части их просят «вернуть» всю матрицу, как это было бы в базе R, для чего они могут либо «вызвать» матрицу со строками и столбцами [1: 5,1: 5], либо просто вставить вимя матрицы (например, my.matrix).Однако я не могу заставить работать вторую часть, так как приложение аварийно завершит работу и вернет следующую ошибку: Ошибка в аргументе :: NA / NaN.Я включил сегмент кода для этой конкретной части на сервере:
observeEvent( input$go6, {
sixthinput<- as.numeric(str_extract_all(input$six, "[0-9]+")[[1]])
string6 <- str_extract(input$six, "my.matrix")
sixth.list <- my.matrix[sixthinput[1]:sixthinput[2],sixthinput[3]:sixthinput[4]]
isolate({
buttonValue$go1 = FALSE
buttonValue$go2 = FALSE
buttonValue$go3 = FALSE
buttonValue$go4 = FALSE
buttonValue$go5 = FALSE
buttonValue$go6 = TRUE
buttonValue$go7 = FALSE
})
comparestring <- "my.matrix"
if (isTRUE(identical(sixth.list, my.matrix)) & buttonValue$go6) {
output$display <- renderText({
paste(c("The matrix you extracted contains:"))
})
output$displayMat <- renderTable(
sixth.list
)
output$display2 <- renderText({
print("Correct!")
})
} else if(isTRUE(identical(string6, comparestring)) & buttonValue$go6) {
output$display <- renderText({
paste(c("The matrix you extracted contains:"))
})
output$displayMat <- renderTable(
my.matrix
)
output$display2 <- renderText({
print("Correct!")
})
} else {
output$display <- renderText({
paste(c("The matrix you extracted contains:"))
})
output$displayMat <- renderTable(
sixth.list
)
output$display2 <- renderText({
print("Incorrect")
})
}
})
Я уверен, что это как-то связано с переменной "string6", "comparestring" и / или частью, с которой я сравниваюих в цикле if, но я не уверен, где и как именно все идет не так, за исключением того, что NA.Любые разъяснения приветствуются.