R中是否可以实现联动刷选
我昨天看到这个,但它是为matplotlib设计的,而我知道matplotlib只适用于Python。这个功能对我的工作来说非常有用。
那么,R语言有没有类似的功能呢?我查了一下,看到的最接近的就是iPlots/Acinonyx,但那些网站好像有几年没更新了。请问这些包用起来还不错吗?我没看到过它们的使用例子。
另外,mpld3/matplotlib/python和R能一起用吗?我的意思是,我能在R中加载我的数据框,然后用mpld3/matplotlib/python来探索数据,最后再在R中做出漂亮的图吗?
坦白说:我还是个新手(R是我自从小时候学QBASIC以来,第一次真正尝试学习的编程语言……)。
5 个回答
另外,可以看看 http://cranvas.org/ 这个网站。虽然安装起来可能对新手来说有点难,但付出的努力是值得的。
JGR这个包提供了一个Java接口,可以让你在Java中使用R语言。通过这个接口,你可以调用一个叫做iplots的库。在你的R终端里,输入
install.packages("JGR");
library(JGR);
JGR()
这会打开一个新窗口,你可以像使用标准的R终端一样使用这个窗口。
现在你应该可以使用iplots进行数据选择了:
X = matrix(rnorm(900), ncol = 3);
iplot(X[,1], X[,2]);
iplot(X[,1], X[,3]);
ihist(X[,1])
虽然R语言目前似乎没有类似的功能,但我想提一下,mpld3现在有一个清晰的JSON格式,用于表示图形,这在某种程度上和Vega有点像(不过层次要低得多)。我不是R或ggplot的用户,但看起来ggvis的ggplot转Vega的方法可以很容易地调整一下,用来把ggplot转换成mpld3。
我忘了怎么在R语言中做带有刷选功能的联动图了,但我知道这个功能是可以实现的。我通常使用GGobi来做这个,网址是http://ggobi.org/。它是专门为数据分析而设计的,可以通过可视化的方式来探索数据,而且有R语言的包可以和它进行沟通和编写脚本。
关于GGobi,有一本不错的书,叫做《互动与动态图形数据分析:使用R和GGobi》。