R交互选择数据帧行

mat*_*fee 4 interactive r dataframe

我有一个数据框,说:

df <- data.frame(a=1:10,b=runif(10))
Run Code Online (Sandbox Code Playgroud)

我希望能够向用户显示数据框并让他们选择(单击)一行,然后检索该行.

有点像edit(df),除了我想要的更简单,因为我不需要编辑功能---我只需要在其中一行上侦听点击事件并获取该行的索引(我不是甚至需要特定的细胞!)

有谁知道我怎么做到这一点?我更喜欢使用base R或grid(为了不添加大量软件包) - 也许我可以以某种方式在网格图形上绘制数据框,其中yy从1定义为nrow(df)并使用该grid.locator()函数?

避免引入gui包会很好,但如果我这样做,它应该是跨平台的(linux/windows).gwidgets非常好(尽管他们似乎没有将click事件与他们的gdf小部件很好地集成).

干杯.

tim*_*ffe 7

好吧,这是一个快速的方法,没有额外的包,但你可能不得不摆弄格式,如果你希望表格很好地对齐,圆形等:

    df <- data.frame(a=1:10,b=runif(10))
    df[menu(apply(df,1,paste,collapse="  "),graphics=TRUE),]
Run Code Online (Sandbox Code Playgroud)

如有必要,设备会自动扩展,必要时会自动显示滚动条.