[R] convert decimals to fractions - sorted
Muhammad Subianto
msubianto at gmail.com
Wed Jul 26 13:35:42 CEST 2006
Dear all,
Thanks for your help.
I played with you suggest and still didn't sort (summary) which I need.
> t(table(at2[sort.order,c(1,3)]))
V1
jeebee -1 1
0 0 4
11/21 0 1
1/2 1 0
1/21 1 1
13/42 1 1
17/42 0 2
2/21 0 3
3/14 1 2
5/42 0 1
8/21 0 1
>
I need the result summary (order) like,
-1 1
0/42 0 4
2/42 1 1
4/42 0 3
5/42 0 1
9/42 1 2
13/42 1 1
16/42 0 1
17/42 0 2
21/42 1 0
22/42 0 1
Thanks very much for any suggestions.
Groeten & Regards, Muhammad Subianto
On 7/26/06, JeeBee <JeeBee at troefpunt.nl> wrote:
>
> Hi Muhammad,
>
> How about this?
>
> at <- read.table(textConnection(a))
> at2 <- cbind(at, jeebee=as.character(as.fractions(as.numeric(at[,2]))))
>
> sort.order <- order(at2$V2)
>
> at2[sort.order,]
> at2[sort.order,c(1,3)]
>
> JeeBee.
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>
On 7/25/06, Muhammad Subianto <msubianto at gmail.com> wrote:
> Dear all,
> Based on my question a few months ago
> https://stat.ethz.ch/pipermail/r-help/2006-January/086952.html
> and solved with
> https://stat.ethz.ch/pipermail/r-help/2006-January/086955.html
> https://stat.ethz.ch/pipermail/r-help/2006-January/086956.html
> and from
> https://stat.ethz.ch/pipermail/r-help/2006-January/086958.html
>
> frac.fun <- function(x, den){
> dec <- seq(0, den) / den
> nams <- paste(seq(0, den), den, sep = "/")
> sapply(x, function(y) nams[which.min(abs(y - dec))])
> }
> #######################
> frac.fun(c(0, 1, 0.8266667, .066666, 0.2666666), 75)
>
> Now, I have a dataset something like this:
>
> a <-"1 0
> 1 0.095238095238095
> 1 0.214285714285714
> -1 0.5
> 1 0.309523809523810
> -1 0.0476190476190476
> 1 0.404761904761905
> 1 0.119047619047619
> -1 0.214285714285714
> -1 0.309523809523810
> 1 0
> 1 0
> 1 0.404761904761905
> 1 0.095238095238095
> 1 0.047619047619047
> 1 0.380952380952381
> 1 0.214285714285714
> 1 0.523809523809524
> 1 0
> 1 0.095238095238095"
>
> First, I make it as fractions and then sorted.
> I have played around to make it sort, but it didn't succes.
>
> df <- read.table(textConnection(a))
> library(MASS)
> as.fractions(as.numeric(df[,2]))
> cbind(table(df[,2], df[,1]), summary(as.factor(df[,2])))
> table(frac.fun(as.numeric(df[,2]),42), df[,1])
> > table(frac.fun(as.numeric(df[,2]),42), df[,1])
>
> -1 1
> 0/42 0 4
> 13/42 1 1
> 16/42 0 1
> 17/42 0 2
> 21/42 1 0
> 22/42 0 1
> 2/42 1 1
> 4/42 0 3
> 5/42 0 1
> 9/42 1 2
> >
>
> How to make the result as sort (to increase) like this,
>
> -1 1
> 0/42 0 4
> 2/42 1 1
> 4/42 0 3
> 5/42 0 1
> 9/42 1 2
> 13/42 1 1
> 16/42 0 1
> 17/42 0 2
> 21/42 1 0
> 22/42 0 1
>
> Thank's for any help.
>
> Best, Muhammad Subianto
>
More information about the R-help
mailing list