2017-01-04 17 views
1

Я читаю таблицу с использованием функции SQLqruey и сохраняю ее в df. код, как показано нижеКак читать целочисленный столбец типа daata Значение NULL как ничто в df с помощью sqlquery?

table_data_query<-"select * from sample_data" 

tables_data<- sqlQuery(cn, table_data_query,errors=TRUE,rows_at_time = 100,stringsAsFactors = FALSE, as.is = TRUE, na.string = "NULL", nullstring = "") 

VARCHAR данные и символ столбцы типа NULL значение не читает, как пустое (ничего) при чтении в DF, но с одной колонки (тип данных целого) значение NULL, читает «NA» (текст/строка) в кадр данных

Как читать столбцы типа данных типа NULL как ничто.

ответ

1

Я не могу воспроизвести вашу проблему. Когда я делаю следующее:

table_data_query <- "SELECT * FROM (VALUES(NULL,'a','b'),(1,NULL,'c')) V(a,b,c)" 
dat <- sqlQuery(con, table_data_query, na.strings = c("NULL"), 
       errors=TRUE,rows_at_time = 100, 
       stringsAsFactors = FALSE, as.is = TRUE, 
       nullstring = "") 

str(dat) 

Это приводит к

'data.frame': 2 obs. of 3 variables: 
$ a: int NA 1 
$ b: chr "a" "" 
$ c: chr "b" "c" 

, который показывает, что целое число считывается в R как целое. Здесь вы читаете, как R показывает отсутствующие значения.

Например:

> sum(dat$a) 
[1] NA 

> sum(dat$a, na.rm = T) 
[1] 1 

редактирования: чтобы сохранить Акрополя как пробелы в CSV посмотреть здесь: Write a dataframe to csv file with value of NA as blank