我有一个数据帧,说:r选择已行交互
df <- data.frame(a=1:10,b=runif(10))
我想能够显示该数据帧给用户,让他们选择(单击)的行,和检索那一行。
有点像edit(df)
,除了我想要的更简单,因为我不需要编辑功能---我只需要监听其中一行上的单击事件并获取该索引排(我甚至不需要特定的细胞!)
有谁知道我该怎么做?我宁愿使用base R或grid
(为了不添加大量的软件包)这样做 - 也许我可以以某种方式将数据帧绘制在1y到nrow(df)
之间的网格图形上,并使用grid.locator()
功能?
这将是很好,以避免引入gui包,但如果我这样做,它应该是跨平台(linux/windows)。 gwidgets
是相当不错的(虽然他们似乎没有与他们的gdf
小部件很好地集成的点击事件)。
欢呼声。
如果使用gWidgets,请尝试gtable,而不是gdf,因为那里的鼠标点击也会触发编辑。索引= TRUE的gtable的svalue方法将返回所选行的索引。否则,您可以使用图形设备来完成此操作,但是如果没有滚动条,您将不得不限制显示的数据框的大小。 – jverzani 2012-02-07 13:00:58