[英]Selecting NA values from sql file in R
我在R中使用以下代碼讀取sql表
library(RSQLite)
setwd("C:/Users/Cat/Downloads")
drv = dbDriver("SQLite")
# Use the driver to connect to a particular sqlite database file
con = dbConnect(drv, "cartype")
dbListTables(con)
並且表Sale中有名為ID和credit的列。 有些功勞缺失,我可以使用以下代碼選擇它們。
wow = dbGetQuery(con, 'SELECT DISTINCT ID FROM Sale WHERE
credit IS NOT \"NA\";')
問題是如何選擇日期為NA的ID? 我嘗試了代碼
wow = dbGetQuery(con, 'SELECT DISTINCT ID FROM Sale WHERE
credit IS \"NA\";')
要么
wow = dbGetQuery(con, 'SELECT DISTINCT ID FROM Sale WHERE
credit == \"NA\";')
該代碼可以工作,但給出的結果不正確,即有0個結果與條件匹配,而它應具有100個以上不帶信用的ID。
誰能幫助我,並告訴我如何獲得具有NA信用額的ID? 謝謝 !
我認為您對誤解如何存儲在數據庫中產生了誤解。 這些通常存儲為NULL,而不是NA。
您的第一條語句之所以有效,是因為它正在將某種類型的列(例如date,int,varchar)與字符串(“ NA”)進行比較,並且這將排除NULL,因為字符串比較(無論是隱式還是顯式)將始終排除缺失,並且您的所有日期都將不同於“ NA”,它將返回所有不丟失的記錄。
您的第二個和第三個語句返回0記錄的原因是因為它再次進行了字符串比較,該比較將排除NULL並且也找不到匹配項。
對於SQLite,有一個很棒的頁面介紹了如何處理NULL,這可能會幫助您更詳細地了解此主題: http : //sqlite.org/nulls.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.