>>>>> Michel  <michelgo...@free.fr>
>>>>>     on Tue, 24 Sep 2013 12:22:10 +0200 writes:

    > Hello, Thanks for your answer The file does not contains
    > numbers in high precision but all the calculation applied
    > to these data will be

    > In attachment a text file containing some lines And her
    > few values:
    > 
11111.0054014388224326026488598,-68239.4114845811819662912967033,10053.1824584878233990181684021
    > 
3.05363891777017837760380136736,-1.40443175474415104684797195311,1.36766960877453817890022497172

(two lines, typically split by mail writers/readers)

Aha!  But these actually *ARE* of  'high precision', i.e.
you cannot store them as usual double precision numbers in full accuracy.

So, I've prepared the following -- 100% reproducible -- script
to show you how to get such numbers into an Rmpfr matrix :


## MM: Reproducible example
set.seed(17); x <- mpfr(matrix(rnorm(28), 7, 4), precBits=128)
x <- x^2
mfile <- tempfile()
write.table(array(format(x), dim=dim(x)), file = mfile,
            row.names=FALSE, col.names=FALSE, sep=",")
## to check:
writeLines(readLines(mfile) [1:2])


## Now, let's assume mfile contains the "high precision" matrix we want to get 
as
## mpfrMatrix :
## 1) Assume you know the number of columns, then this is fastest :
m.ncol <- 4
chmat <- matrix(scan(mfile, "", sep=","), ncol = m.ncol )

## 2) Nothing is known, ... ok, why not make the detour via read.table():
chmat <- as.matrix(read.table(mfile, colClasses="character", sep=","))

## in both cases:

require(Rmpfr)# the package

M <- mpfr(chmat)#-> determines precision *from* the input, here  133 .. 143 bits

## or set the precision yourself, high enough:
M <- mpfr(chmat, precBits = 144)

## and e.g. this works:

crossprod(M) ## == M'M

-------

Hoping this helps,
Martin

______________________________________________
R-help@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.

Reply via email to