Skip to content
Back to formatted view

Raw Message

Message-ID: <BANLkTi=u=SSL=sentQUtLFO5hz5nE5s+Bg@mail.gmail.com>
Date: 2011-04-13T16:15:31Z
From: jim holtman
Subject: Decimals in R/SQL
In-Reply-To: <2EFC465A5231C8448A638DD72E6D58000B9D6560@dc-mail2.kff.org>

You at least have to provide a subset of 'ss09' so we can see what the
original data looks like.  I have not had any problems with decimals
in using sqldf.

> x <- as.data.frame(matrix(runif(100)*100, 10))
> x$key <- sample(1:3, 10, TRUE)
> require(sqldf)
> xsum <- sqldf('
+     select key, sum(V1 * V2) / sum(V3)
+         from x
+         group by key
+ ')
>
>
> xsum
  key sum(V1 * V2) / sum(V3)
1   1               19.38166
2   2               17.40503
3   3               71.48818
> dput(xsum)
structure(list(key = 1:3, `sum(V1 * V2) / sum(V3)` = c(19.3816573628268,
17.4050302312273, 71.4881812227571)), .Names = c("key", "sum(V1 * V2) / sum(V3)"
), row.names = c(NA, 3L), class = "data.frame")
>



On Wed, Apr 13, 2011 at 11:10 AM, Rachel Licata <RachelL at kff.org> wrote:
> Hello,
>
> When I am writing in sqldf or RSQLite I lose the decimals in my matrix.
> The only way I can get decimals is by multiplying by 1.00000, etc. ?I
> have tried manipulating the options, but it is only effective once I
> multiply by 1.0000.
>
> I appreciate any suggestions!
>
> Thanks!
>
> Example:
>
> z <- sqldf ("select ST,
> SUM(AGEP*PWGTP)*1.000000000/SUM(PWGTP)*1.00000000000000 as wgtage from
> ss09 group by ST")
>
> z shouldn't be whole numbers.
>
>
> ? ? ? ?[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org 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.
>



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?