我有一个R数据框和一些从它们创建的散点图和条形图。
df <- data.frame(var1 = c(2,3,8,2,5,6,2,7,4,4),var2 = runif(n = 10),var3 = runif(n=10,min = 10,max=50),var4 = c(rep("A",5),rep("B",5)))
plot(df$var1,df$var2)
plot(df$var2,df$var3)
barplot(df$var3,names.arg=df$var4)
如果我对第一个图上的某个点感兴趣,我想在第二个,第三个或多个其他图上确定这一点。我希望能够在可共享的rmarkdown文档中以交互方式(例如使用鼠标悬停悬停效果)进行此操作。
如何使用基本图形,ggplot甚至像shiny / rCharts之类的东西在R中做到这一点?任何示例/链接将不胜感激。感谢。
答案 0 :(得分:1)
您可以使用identify
函数在基础R
中以交互方式定位散点图中的点。
例如,您可以使用
在第二个图中识别变量对identify(df$var2,df$var3)
点击了兴趣点后,点击Esc键。与您单击的点对应的行号将显示在控制台和图形中。
在这种情况下,我点击了var2=0.5
和var3=30
附近的点。结果显示这是数据集中的第2点。
> identify(df$var2,df$var3) # Hit Esc key once you have selected the point.
[1] 2 # <- this is the result: the index (row) number of the selected point
#> df[2,]
# var1 var2 var3 var4
#2 3 0.481937 29.54026 A
有关详细信息,请参阅?identify