Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:检查变量类型_R - Fatal编程技术网

R:检查变量类型

R:检查变量类型,r,R,我对R很陌生,目前我正在尝试编写一个带有一些防傻瓜功能的代码 例如,我有一个函数,假设它需要(n,c,l) 其中变量应为数字、字符和逻辑类型 有没有办法让我检查一下这些东西? 例如,我尝试了is.integer(3)。。。这返回FALSE 理想情况下,我要寻找的是,例如,假设abc()是一个函数,它将测试l==T或l==F(检查是否输入了正确的逻辑)。 然后:abc(T)给出真,abc(2)给出假 还有一种方法可以检查n是否是一个特定的整数吗?我的意思是我可以检查(n%%1==0),但是有专门的

我对R很陌生,目前我正在尝试编写一个带有一些防傻瓜功能的代码

例如,我有一个函数,假设它需要(n,c,l) 其中变量应为数字、字符和逻辑类型

有没有办法让我检查一下这些东西? 例如,我尝试了
is.integer(3)
。。。这返回FALSE

理想情况下,我要寻找的是,例如,假设abc()是一个函数,它将测试l==T或l==F(检查是否输入了正确的逻辑)。 然后:abc(T)给出真,abc(2)给出假

还有一种方法可以检查n是否是一个特定的整数吗?我的意思是我可以检查(n%%1==0),但是有专门的函数吗


请提前感谢您提出了一个非常基本的问题。

如评论中所述,您可以使用

is.numeric(3)#check whether numeric
is.integer(3L)#check whether integer
is.logical(TRUE)#Check whether logical
is.logical(2)#will return false
is.character("abc")#check whether character
is.character(4)#will return false

类似地,您可以在R中检查其他数据类型。希望这能有所帮助。

比较
is.integer(3)
is.integer(3L)
。3不是整数,是双精度。在R中,3L是3的整数表示形式。您可以使用
is.numeric()
,因为整数和double都返回TRUE,因为它们都是数字。@RichardScriven和Pascal谢谢,我需要研究一下这些差异。谢谢您对“double”的介绍,它隐藏在我的记忆中,从我学习C.is.logical时就开始了,is.character也一样。我将使用我的模数技巧进行十进制检查。如果我们是学究,不要使用
t
,使用
TRUE
。@最近的邮件不是学究。这是一个经常被遗忘的要点。@KumarManglam感谢你的回答,unf幸运的是,我在其他书库中的声誉没有延续下来,所以我暂时无法对任何人的答案进行投票。