我有一个数据框,比如:
df <- data.frame(a=1:10,b=runif(10))
我希望能够向用户显示数据框并让他们选择(单击)一行,然后检索该行。
有点像edit(df)
,除了我想要的更简单,因为我不需要编辑功能---我只需要在其中一行上侦听点击事件并获取该行的索引(我甚至不需要特定的单元格!)
有谁知道我怎么做到这一点?我更喜欢使用基数R或grid
(为了不添加大量的包) - 也许我可以以某种方式在网格图形上绘制数据框,其中的比例从1到{定义{1}}并使用nrow(df)
函数?
避免引入gui包很不错,但如果我这样做,它应该是跨平台的(linux / windows)。 grid.locator()
非常好(虽然他们似乎没有将click事件与他们的gwidgets
小部件很好地集成)。
欢呼声。
答案 0 :(得分:7)
嗯,这是一个快速的方法,没有额外的包,但如果你想让表格很好地对齐,圆形等,你可能不得不摆弄格式:
df <- data.frame(a=1:10,b=runif(10))
df[menu(apply(df,1,paste,collapse=" "),graphics=TRUE),]
如有必要,设备会自动扩展,必要时会自动显示滚动条。
答案 1 :(得分:0)
我打算建议填充addtable2plot
的空白图表,然后使用locator
选择一个点并使用y规范和{{1}的组合计算行},但是在这个方向上的努力似乎很愚蠢,因为@timrifle似乎已经敲了敲头。