【发布时间】:2014-12-16 14:59:02
【问题描述】:
如果我想检查我使用的变量是否存在
exists("variable")
在我正在处理的脚本中,有时在运行后会遇到“下标越界”的问题,然后我的脚本就会停止。在 if 语句中,我希望能够检查下标是否超出范围。如果结果为“是”,则执行脚本的替代和平,如果“不是”,则按预期继续执行脚本。
在我的想象中,如果是一个列表,它看起来像:
if {subscriptOutofBounds(listvariable[[number]]) == TRUE) {
## execute this part of the code
}
else {
## execute this part
}
R 中是否存在类似的东西?
【问题讨论】:
-
How to test if list element exists? 的可能重复项(注意,如果您只对列表使用索引,则可以查看索引是否 >
length) -
我认为您最好将数字与列表的长度进行比较,或者类似
!(number%in%seq(length(listvariable))) -
我不会试图绕过这个错误,而是更正代码:为什么
number大于listvariable中的项目数? -
使用 length() 有效!!谢谢
-
@vincent,当然,你是完全正确的。问题是我让人们使用一个闪亮的应用程序,它根据交互的类型在列表中构建列表。我时不时地没有成功构建它而没有下标错误。这就是为什么我选择了另一种方法。但话又说回来,我承认这不是最美观的解决方案。
标签: r