我有一个巨大的数据集,其中包含一个名为day_of_week
的列,该列基本上可以指示发生事故的星期几。在此列中,它列出了"SUNDAY"
或"MONDAY"
或"TUESDAY"
等。
我需要做的是弄清楚周日发生了多少事故,但是对于此类,我必须使用SQL来解决问题。
marylandResult
是我的数据框的名称,我正在使用X
来存储结果。这是我一直在尝试的代码:
X <- sqldf('select marylandResult.day_of_week where marylandResult.day_of_week="SUNDAY"'
星期天是数据库中的所有大写字母,无论是否全部大写,使用SQL代码都无关紧要,但是由于我的代码无法正常工作,因此我尝试遵循所有大写字母。
运行这段代码时,当我看着0 rows or observances
时,得到的答案是X
。这显然是不正确的,因为我可以看到有很多实例。除此之外,我还在此代码上尝试了多种变体,其中使用了不同的列名来尝试得出答案。通常,我被告知要留意空间,但是我不知道那是否在绊倒我。
X <- sqldf('select marylandResult.day_of_week where marylandResult.day_of_week="SUNDAY"'
X <- sqldf('select marylandResult.case_number where marylandResult.day_of_week="SUNDAY"'
X <- sqldf('select marylandResult.day_of_week where day_of_week="SUNDAY"'
我应该得到2375个结果附近的某个位置,但是到目前为止,我一直得到0。
答案 0 :(得分:0)
语法为select ... from ... where ...
,因此使用末尾注释中显示的测试数据,我们使用以下代码。 (在该问题中提到了不区分大小写,因此添加了collate nocase
,但在不需要时可以省略。)
library(sqldf)
sqldf("select count(*) as Count
from marylandResult
where day_of_week = 'SUNDAY' collate nocase")
## Count
## 1 2
问题应该是完整且可验证的,包括可复制的输入数据。这次我已经为您提供了。
marylandResult <- data.frame(day_of_week = c("TUESDAY", "SUNDAY", "MONDAY", "SUNDAY"),
stringsAsFactors = FALSE)