小编eam*_*vey的帖子

R Shiny Handling - 从空数据帧处理错误

我正在写我的第一个Shiny应用程序,到目前为止我正在享受它.我的应用程序适用于数据框架,其中包含许多测量膳食方面的变量.它允许用户使用滑块选择六个连续变量的范围.这些输入用于对数据帧进行子集化,然后ggplot基于数据子集创建a .

我的问题是这样 - 当选择的范围导致子集化数据框中没有数据时,我会在主面板中打印出这条红色错误消息,其中绘图通常是:

Error: argument is of length zero (from: Error in if (nrow(layer_data) == 0) return() : argument is of length zero).  
Run Code Online (Sandbox Code Playgroud)

我理解为什么会发生这种错误,如果我在典型的数据分析会话期间获得静态图,这是有道理的.但是,我正试图找出在闪亮的Web应用程序情况下处理此问题的正确方法.

由于此消息对用户没有意义,我想:

1)能够用合理的消息代替它或者
2)返回空白图表
3)什么都不显示(即当数据框为空时没有错误信息或图表给用户)

问题是,如果我检查一个空数据框并返回一个不同的(空白)绘图或消息,那么当用户将滑块设置更改为具有数据的内容时,不会出现正确的绘图(因为反应对象是不再相同).如果我只是让错误消息显示现在并且用户更改设置,则图表会相应更新.

有人可以推荐一种方法在Shiny中优雅地处理这个问题吗?

r ggplot2 shiny

5
推荐指数
1
解决办法
2478
查看次数

在程序包开发期间在RStudio中设置断点

我正在开发RStudio中的包,并希望使用断点来调试我的函数.但是,我一直遇到同样的问题:我设置了一个断点,RStudio警告我必须构建并重新加载包来激活断点(即使我刚刚构建并重新加载了包),然后当我构建并重新加载时断点消失的包.有什么我不理解的吗?

rstudio

5
推荐指数
1
解决办法
372
查看次数

是否可能/需要在单个 Git 存储库中拥有多个 RStudio .Rproj 项目?

过去,我的 RStudio 项目和 Git 存储库始终处于同一级别(即每个项目一个存储库)。然而,特别是在与软件工程师合作时,避免 git 存储库的疯狂扩散似乎是可取的。是否可以在单个存储库中设置多个 RStudio 项目?如果是这样,有什么重要原因是这种做法不好吗?

git rstudio

5
推荐指数
0
解决办法
275
查看次数

使用两列从pandas DataFrame中选择行

我在pandas中有一个DataFrame,我想根据两列的值选择行的子集.

test_df = DataFrame({'Topic' : ['A','A','A','B','B'], 'Characteristic' : ['Population','Other','Other','Other','Other'], 'Total' : [25, 22, 21, 20, 30]})
Run Code Online (Sandbox Code Playgroud)

它按预期工作,并在我使用此代码时返回第一行:

bool1 = test_df['Topic']=='A' 
bool2 = test_df['Characteristic']=='Population'

test_df[bool1 & bool2]
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在一行中完成所有操作时,如下所示,

test_df[test_df['Topic']=='A' & test_df['Characteristic']=='Population']
Run Code Online (Sandbox Code Playgroud)

我得到"TypeError:无法将dtyped [object]数组与[bool]类型的标量进行比较"

为什么?有一个好方法可以一步到位吗?

python pandas

2
推荐指数
1
解决办法
1418
查看次数

标签 统计

rstudio ×2

ggplot2 ×1

git ×1

pandas ×1

python ×1

r ×1

shiny ×1