RODBC импорт сохранить "NA" - PullRequest
       7

RODBC импорт сохранить "NA"

1 голос
/ 14 октября 2010

Когда я импортирую данные страны с использованием RODBC, я часто использую коды ISO2.К сожалению, Намибия с ISO2 "NA" всегда пропадает.Конечно, есть разные способы обойти это, но мне интересно, если кто-нибудь нашел способ просто правильно импортировать.Я пытался

df <- sqlFetch(ch,"data_from_database", na.strings="")
df <- sqlFetch(ch,"data_from_database", as.is)

безрезультатно.Какие-нибудь советы?

Ответы [ 2 ]

1 голос
/ 15 октября 2010

ХА!Ну, так как .is = T не работает, na.string = "" не работает, но с объединенными силами ...

> ch <- odbcConnectExcel("m.xls")
> s <- sqlFetch(ch, "m", as.is=T)
> close(ch)
> s 
  iso2 value
1   GB    87
2 <NA>   456
3   IN   423
> ch <- odbcConnectExcel("m.xls")
> r <- sqlFetch(ch, "m", na.string="")
> close(ch)
> r 
  iso2 value
1   GB    87
2 <NA>   456
3   IN   423
> ch <- odbcConnectExcel("m.xls")
> n <- sqlFetch(ch, "m", as.is=T, na.string="")
> close(ch)
> n 
  iso2 value
1   GB    87
2   NA   456
3   IN   423
1 голос
/ 14 октября 2010

Большинство загрузчиков базы данных в итоге вызывают read.table(). Итак, в качестве первого шага, давайте обратимся к этому.

С файлом данных tom.csv как

country,value
GB,55
NA,77
CH,23 

Я получаю

R> read.csv("/tmp/tom.csv")
  country value
1      GB    55
2    <NA>    77
3      CH    23
R> read.csv("/tmp/tom.csv", na.string="#")
  country value
1      GB    55
2      NA    77
3      CH    23
R> 

настолько простой установки na.string к другому значению было достаточно.

Попробуйте это вместе с sqlQuery(), что более полезно, чем sqlFetch().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...