In my attempts to reproduce this both approaches worked.
There seems to be something going on we cannot see (and I don't believe
NULL in the database is being mapped to " "). For example, might there be
non-breaking spaces (character A0 in Windows 1252, your most likely
character set) in the database?
On Mon, 2 Apr 2007, Lauri Nikkinen wrote:
Hi R-users,
I'm trying to retrieve data from MS SQL database with RODBC's
sqlQuery-function:
temp <- sqlQuery(channel,"select *, (select text from table1 where
koodi='paa' and koodi2=paa) as tempor from table2")
str(temp)
$ var0 : num NA NA 1.6 NA NA 1.4 NA 1 NA NA ...
$ var1 : Factor w/ 45 levels " ","01","01;07",..: 1 1 1 4 38 1 38 7
1 1 ...
$ var2 : Factor w/ 95 levels " ","01","01;02;09",..: 1 1 1 9 72 1 78
13 1 1 ...
$ var3 : Factor w/ 104 levels " ","01","01;02;09",..: 1 1 1 44 82 1 87
14 1 1 ...
Data types of these variables in the MS SQL database are:
var0: float, NULL
var1: varchar, NULL
var2: varchar, NULL
var3: varchar, NULL
As you can see from above, I get variable var0 with NA:s because of the data
type (there is NULL in the database if there is no observation in the
specific cell). How can I get NA:s to these Factor variables also? I have
tried the following with no positive results:
temp <- sqlQuery(channel,"select *, (select text from table1 where
koodi='paa' and koodi2=paa) as tempor from table2", na.strings=" ")
and also afterwards
temp$var1[temp$var1 == " "] <- "NA"
Regards,
Lauri
[[alternative HTML version deleted]]
--
Brian D. Ripley, [EMAIL PROTECTED]
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.