2016-06-08 2 views
0

У меня возникли проблемы запуска основного запроса на образец набора данных (ссылка ниже) http://kbcdn.tableausoftware.com/data/Superstore.xls с помощью R.sqldf запрос возвращает значения 0

Я приложил мой код ниже.

#read file with XLConnect 
path <- file.path("/Users/petergensler/Desktop/Sample - Superstore Sales.xls") 
superstore <- readWorksheetFromFile(path, sheet= "Orders") 


#Query 
    test <- sqldf("SELECT * FROM superstore WHERE 'Product Sub-Category' = 'Appliances'",) 
    test 

Запрос выполняется в порядке, но он возвращает следующие результаты:

[1] Row.ID    Order.ID    Order.Date   Order.Priority  Order.Quantity  Sales    
[7] Discount    Ship.Mode   Profit    Unit.Price   Shipping.Cost  Customer.Name  
[13] Province    Region    Customer.Segment  Product.Category  Product.Sub.Category Product.Name   
[19] Product.Container Product.Base.Margin Ship.Date   
<0 rows> (or 0-length row.names) 

там что-то не так с моим прикрепленными пакетов, которые будут обусловливающих запрос для запуска неправильно, или что-то с моим данные? столбец, на который я запрашиваю, кажется прекрасным, поскольку он является символом типа, и указание литеральной строки должно соответствовать значениям (если только они не являются завершающими пробелами), правильно?

Я бегу R по Mac OS X 10.11.5 со следующей информацией сессии:

session_info() информация Session ----------------- -------------------------------------------------- ------------------------ значение установки
версия R версия 3.3.0 (2016-05-03) система x86_64, darwin13.4.0
ui RStudio (0.99.896)
Язык (EN)
collate en_US.UTF-8
TZ America/Chicago
Дата 2016-06-08

Я также прилагается мои пакеты, прикрепленные к текущей сессии, а также.

https://drive.google.com/open?id=0Bxhxg_yftHNubEc4NUZTUVoxa0E

Спасибо за вашу помощь!

+0

Одиночные кавычки, окружающие константы, а не имена столбцов. Имена столбцов могут быть окружены двойными кавычками, квадратными скобками или обратными окнами. –

ответ

0

Вслед за то, что сказал Г. Grothndieck (используйте скобки для имен столбцов) Я побежал это и он работал на меня:

#Query 
test <- sqldf(x = "SELECT * FROM superstore WHERE [Product.Sub.Category] = 'Appliances'") 
test 

Большинство методов чтения в кадрах данных изменить пробелы и дефисы в именах столбцов INTO ., поэтому вам нужно обновить эту часть.

+1

Вы можете использовать аргумент 'check.names = FALSE' при использовании' read.table' и 'data.frame'. –

 Смежные вопросы

  • Нет связанных вопросов^_^