我试图想出一种干净的方法来绘制 R 数据框中所有列的网格视图。问题是我的数据帧中有离散值和数值。为简单起见,我们可以使用 R 提供的样本数据集,称为iris。我会par(mfrow(x, y))用来分割我的图,也许mapply会循环遍历每一列?我不确定这里什么是最好的。
我在想类似于:
ggplot(iris, aes(Sepal.Length))+geom_density()
Run Code Online (Sandbox Code Playgroud)
而是为每一列绘制。我担心的是“物种”列是离散的。也许“geom_density”不是在这里使用的正确图,但我们的想法是在一个图中查看每个数据框的变量分布——甚至是离散的。离散值的条形图将用于此目的。基本上我正在尝试执行以下操作:
任何想法或建议将不胜感激!
在R中使用模块时,我的反应性存在问题。如果我更新一个模块,然后尝试使用这些更新的值更新另一个模块,那么我会在更新之前获取这些值。
我已经写了一些基本代码来说明我的意思。在这里,我有一个应用程序,该应用程序更新rHandsontableOutput放置在称为的模块中的位置my_module ,然后在按下按钮时将此更新复制rHandsontableOutput到称为第二个模块module_to_update的位置。
我发现的是的第一个表my_module将更新,而不会更新module_to_update。相反,该module_to_update表将在update之前收到my_module的初始表的副本。如果我再次按下更新按钮,则一切正常。
我猜测这与我如何处理会话或响应值有关,但我没有主意。
问题:如何设置反应值和模块,以便可以在同一函数调用中对更新的模块数据运行操作?(例如,请参见observeEvent(input$update_btn, ...)下面的电话示例)
应用程序
library(shiny)
library(rhandsontable)
source('my_modules.R')
active_tab = ""
ui <- navbarPage("Module Test Tool",
tabsetPanel(id = 'mainTabset',
tabPanel("My Tab",
#This is the HoT that works as expected, updating when called upon
h4("Table 1"),
myModuleUI('my_module'),
#This is the HoT that does NOT work as expected. This HoT fails to use the updated …Run Code Online (Sandbox Code Playgroud)