我遇到闪亮的问题。我有很多输入,我要整理到列表中。然后,我使用cbind()
将这些组合成数据框。
我现在要做的是删除第一列中没有值的此数据框的所有行。
exposure.df <- reactive({as.data.frame(cbind("Exposure" = exposure.vector(), "NDF?" = exposure.ndf.vector(), "Source" = exposure.source.vector(), "Time" = exposure.time.vector(), "Weight" = exposure.weight.vector()))})
当我尝试将其子集化时:
exposure.df <- reactive({subset(exposure.df(), !(Exposure == ""))})
我收到此错误:
警告:错误:评估嵌套太深:无限递归/选项(表达式=)? 没有可用的堆栈跟踪
有什么想法吗?
答案 0 :(得分:1)
你定义了一个被动的exposure.df
,然后你试图让它在第二行自己做出反应,从而进行递归。您可以在exposure.df
:
exposure.df <- reactive({
df <- as.data.frame(cbind("Exposure" = exposure.vector(), "NDF?" = exposure.ndf.vector(), "Source" = exposure.source.vector(), "Time" = exposure.time.vector(), "Weight" = exposure.weight.vector()))
subset(df, !(Exposure == ""))
})
然后,上次操作的结果(在本例中为subset
)是您在调用被动exposure.df()
时获得的结果。