【发布时间】:2017-02-19 15:15:34
【问题描述】:
我对 R 很陌生,我目前正在尝试编写一个具有一些防呆功能的代码。
例如,我有一个函数,假设它需要 (n,c,l) 其中变量应该是数字、字符和逻辑类型。
有没有办法让我检查这些东西?
例如,我尝试过is.integer(3) ...这会返回 FALSE。
理想情况下,我正在寻找例如,假设 abc() 是一些函数,它将测试 l==T 或 l==F (检查是否输入了正确的逻辑。 那么:abc(T) 给出 TRUE,abc(2) 给出 FALSE。
还有没有办法检查 n 是否是一个整数?我的意思是我可以检查 if (n%%1==0),但是有没有特定的功能呢?
提前感谢您提出的看似非常基本的问题。
【问题讨论】:
-
比较
is.integer(3)和is.integer(3L)。 -
3 不是整数,而是双精度数。在 R 中,3L 是 3 的整数表示。您可以使用
is.numeric(),因为它对整数和双精度都返回 TRUE,因为它们都是数字。 -
@RichardScriven 和 Pascal 谢谢,然后我需要研究这些差异。感谢您对“双重”的提醒,当我学习 C.is.logical 按预期工作时,它就隐藏在我的记忆中,就像 is.character 一样。我将使用我的模数技巧进行小数检查。
标签: r