我需要验证数据库中是否存在变量。闪亮的R

I need to verify that a variable exists in a database. Shiny in R

我有一个为我提供数据框的查询。当我收到数据框时,我使用这段代码来制作一些数字变量:

variables_numeric<-c("A","B","C","D")
datos[, variables_numeric] <- lapply(datos[, variables_numeric], as.numeric)

但是当由于某种原因这些列之一没有出现在 df 中时,我得到这个错误:

Warning: Error in [.data.frame: undefined columns selected

有什么方法可以避免这种情况?我在考虑使用 ifelse 首先检查数据帧是否包含变量。

也许你可以先在datos中找到变量,然后应用你的代码逻辑:

datos <- data.frame(A = 1, B = 2, C = 3)
variables_numeric <- c("A","B","C","D")
variables_in_df <- variables_numeric[variables_numeric %in% names(datos)]

datos[, variables_in_df] <- lapply(datos[, variables_in_df], as.numeric)