packages feed

rclient-0.1.0.0: examples/Main.hs

import qualified Network.Rserve.Client as R
import qualified Data.ByteString.Char8 as B
import Data.Binary

main :: IO ()
main = do 
  rc <- R.connect "localhost" 6311
  print ("Rserve version:"++R.rcRserveVersion rc)
  m <- R.eval rc "rnorm(10)" 
  print (R.unpack m :: Maybe [Double])
  m1 <- R.assign rc "a" (R.RArrayDouble [1.0,201])
  m2 <- R.eval rc "a"
  print m2
  fileStuff rc

fileStuff :: R.RConn -> IO()
fileStuff rconn = do 
  r <- R.createFile rconn fileName 
  r2 <- R.writeFile rconn (B.pack "a,b\n1,2\n8,4")
  r4 <- R.closeFile rconn fileName
  r5 <- R.openFile rconn fileName
  r6 <- R.eval rconn ("x <- read.csv(\""++fileName++"\", header=TRUE)")
  r7 <- R.eval rconn "mean(x$a)"
  r8 <- R.removeFile rconn fileName
  print (R.unpackRArrayDouble r7)
    where fileName = "/tmp/rserve_tmp.csv"