i am using rpy2-2.0.7 (i need this to work with windows 7, and compiling the binaries for the newer rpy2 versions is a mess) to push a two-column dataframe into r, create a few layers in ggplot2, and output the image into a <.png>.
i have wasted countless hours fidgeting around with the syntax; i did manage to output the files i needed at one point, but (stupidly) did not notice and continued fidgeting around with my code ...
i would sincerely appreciate any help; below is a (trivial) example for demonstration. Thank you very much for your help!!! ~ Eric Butter
import rpy2.robjects as rob
from rpy2.robjects import r
import rpy2.rlike.container as rlc
from array import array
r.library("grDevices") # import r graphics package with rpy2
r.library("lattice")
r.library("ggplot2")
r.library("reshape")
picpath = foo.png
d1 = ["cat","dog","mouse"]
d2 = array( f ,[1.0,2.0,3.0])
nums = rob.RVector(d2)
name = rob.StrVector(d1)
tl = rlc.TaggedList([nums, name], tags = ( nums , name ))
dataf = rob.RDataFrame(tl)
## r[ png ](file=picpath, width=300, height=300)
## r[ ggplot ](data=dataf)+r[ aes_string ](x= nums )+r[ geom_bar ](fill= name )+r[ stat_bin ](binwidth=0.1)
r[ ggplot ](data=dataf)
r[ aes_string ](x= nums )
r[ geom_bar ](fill= name )
r[ stat_bin ](binwidth=0.1)
r[ ggsave ]()
## r[ dev.off ]()
*The output is just a blank image (181 b).
here are a couple common errors R itself throws as I fiddle around in ggplot2:
r[ png ](file=picpath, width=300, height=300)
r[ ggplot ]()
r[ layer ](dataf, x=nums, fill=name, geom="bar")
r[ geom_histogram ]()
r[ stat_bin ](binwidth=0.1)
r[ ggsave ](file=picpath)
r[ dev.off ]()
*RRuntimeError: Error: No layers in plot
r[ png ](file=picpath, width=300, height=300)
r[ ggplot ](data=dataf)
r[ aes ](geom="bar")
r[ geom_bar ](x=nums, fill=name)
r[ stat_bin ](binwidth=0.1)
r[ ggsave ](file=picpath)
r[ dev.off ]()
*RRuntimeError: Error: When setting aesthetics, they may only take one value. Problems: fill,x