R按列和行号访问数据库查询结果
我不熟悉R语言。我已成功地将查询的结果集加载到变量中。现在我想按列名和行号访问resultset数据。我需要验证它是否为Null(结果中显示为R按列和行号访问数据库查询结果,r,syntax,comparison,R,Syntax,Comparison,我不熟悉R语言。我已成功地将查询的结果集加载到变量中。现在我想按列名和行号访问resultset数据。我需要验证它是否为Null(结果中显示为),然后使用PHP通过bat文件发送邮件。我的示例代码如下 library(RODBC) newconn = odbcConnect("db", uid="uid", pwd="pwd") new <- sqlQuery(newconn,"SELECT COL1, COL2 FROM TABLE1;", errors = TRUE, 1) if(n
library(RODBC)
newconn = odbcConnect("db", uid="uid", pwd="pwd")
new <- sqlQuery(newconn,"SELECT COL1, COL2 FROM TABLE1;", errors = TRUE, 1)
if(new$COL1[3] == "<NA>"){
system("sendmail.bat")
}else{
print ("failed")
}
但我认为我使用了错误的语法。请帮助我,因为我无法获得进行这些比较的正确语法 试试这个:
# I'd avoid new as a variable name
newdata <- sqlQuery(newconn,"SELECT COL1, COL2 FROM TABLE1;", errors = TRUE, 1)
# index data frame by row number and column name
if (newdata[3, "COL1"] == "someValue") {
print("found someValue")
} else {
print ("failed")
}
按行和列索引进行索引
最后,NA测试不同于字符串比较——您需要is.null()
或is.NA()
,因为这可能会通过ODBC访问进行转换。非常感谢。is.na()是我正在搜索的。
# I'd avoid new as a variable name
newdata <- sqlQuery(newconn,"SELECT COL1, COL2 FROM TABLE1;", errors = TRUE, 1)
# index data frame by row number and column name
if (newdata[3, "COL1"] == "someValue") {
print("found someValue")
} else {
print ("failed")
}
if (newdata[3, 2] == "MYSTRING")