Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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'的预期用途;s整数?_R_Integer_Cinterop - Fatal编程技术网

R的文档或语言定义是否说明了R'的预期用途;s整数?

R的文档或语言定义是否说明了R'的预期用途;s整数?,r,integer,cinterop,R,Integer,Cinterop,我看到关于R的整数类型的一个常见评论是,它实际上只用于与C代码通信。R的官方文件中有没有出现类似的声明?我经常发现自己在做像整数(10)这样的向量时,有一种印象,那就是它们对我来说会更有效,只是为了记住这一民间传说,并重新考虑我是否应该在从不尝试与C代码通信的代码中使用整数。我不这么认为。这个民间传说可能是因为R在类型和强制方面非常松散,所以很容易意外地得到一个浮点变量 整数类型当然可以节省内存: >对象大小(序号(1e8)) 400000048字节 >对象大小(序号(1e8)+0.1) 800

我看到关于R的整数类型的一个常见评论是,它实际上只用于与C代码通信。R的官方文件中有没有出现类似的声明?我经常发现自己在做像整数(10)这样的向量时,有一种印象,那就是它们对我来说会更有效,只是为了记住这一民间传说,并重新考虑我是否应该在从不尝试与C代码通信的代码中使用整数。

我不这么认为。这个民间传说可能是因为R在类型和强制方面非常松散,所以很容易意外地得到一个浮点变量

整数类型当然可以节省内存:

>对象大小(序号(1e8))
400000048字节
>对象大小(序号(1e8)+0.1)
80000048字节
我还没有尝试过基准测试,看看R是否在整数和浮点运算中使用更快的例程,但您可以

我还没有仔细阅读R的所有文档,但在中全文搜索“integer”时发现的唯一稍微相关的注释是:

在大多数情况下,整数和数值之间的差异并不重要,因为R在使用数字时会做正确的事情。但是,有时我们希望显式地为常量创建整数值。我们可以通过调用函数
as.integer
或使用各种其他技术来实现这一点


我在R源代码树的
doc/manual
目录中做了一个
grep integer*.texi
,没有(快速浏览)注意到任何其他相关内容。

我不这么认为。这个民间传说可能是因为R在类型和强制方面非常松散,所以很容易意外地得到一个浮点变量

整数类型当然可以节省内存:

>对象大小(序号(1e8))
400000048字节
>对象大小(序号(1e8)+0.1)
80000048字节
我还没有尝试过基准测试,看看R是否在整数和浮点运算中使用更快的例程,但您可以

我还没有仔细阅读R的所有文档,但在中全文搜索“integer”时发现的唯一稍微相关的注释是:

在大多数情况下,整数和数值之间的差异并不重要,因为R在使用数字时会做正确的事情。但是,有时我们希望显式地为常量创建整数值。我们可以通过调用函数
as.integer
或使用各种其他技术来实现这一点

我在R源代码树的
doc/manual
目录中做了一个
grep integer*.texi
,没有(快速浏览)注意到任何其他相关内容。

根据建议,我检查了。除此之外,我还发现:

在大多数情况下,用户不会关心数字向量中的“数字”是整数、实数还是复数。内部计算以双精度实数或双精度复数形式进行,如果输入数据复杂。

为使R与C和Fortran通信提供了很多指导,但它没有说明整数类型的意图

最后一个要检查的地方是机场。你必须发疯才能这么做,“整数”这个词出现1000多次。然而,快速浏览一下索引就会发现。这给了我们一个简单明了的答案,我错过了它,这是不可原谅的:

整数向量的存在使得数据可以传递给C或Fortran代码,而C或Fortran代码需要整数向量,因此(小的)整数数据可以精确而紧凑地表示

按照建议,我检查了一下房间。除此之外,我还发现:

在大多数情况下,用户不会关心数字向量中的“数字”是整数、实数还是复数。内部计算以双精度实数或双精度复数形式进行,如果输入数据复杂。

为使R与C和Fortran通信提供了很多指导,但它没有说明整数类型的意图

最后一个要检查的地方是机场。你必须发疯才能这么做,“整数”这个词出现1000多次。然而,快速浏览一下索引就会发现。这给了我们一个简单明了的答案,我错过了它,这是不可原谅的:

整数向量的存在使得数据可以传递给C或Fortran代码,而C或Fortran代码需要整数向量,因此(小的)整数数据可以精确而紧凑地表示


R文档是,尽管如果你得到整个源代码树(通过下载源代码tarball或从SVN存储库中签出一个副本),那么一次搜索所有内容会更容易@Henrik Ah,你说的是“存在整数向量,这样数据就可以传递给C或Fortran代码,而这些代码需要它们,所以(小)整数数据可以精确而紧凑地表示。“在
中?整数
?是的,我错过了这一点,真是个傻瓜。R文档是的,尽管如果你得到了整个源代码树(通过下载源代码tarball或从SVN存储库中查看副本),那么一次搜索所有内容会更容易。@Henrik啊,你说的是“整数向量存在,这样数据就可以传递给C或Fortran代码,而C或Fortran代码需要它们,因此(小)整数数据可以精确而紧凑地表示。“在
?integer
?是的,我错过了这一点,真是个傻瓜。”。