小编Ste*_*ass的帖子

如果x是一个向量,这就是rnorm(x)的作用,我怎么能更快地找到它?

我在寻找的R资源,于是我开始寻找在"概论R" 这里的r-project.org.我做了,立即被难倒了.

我想我已经弄清楚发生了什么,我的问题基本上就是

  • 是否有资源可以帮助我更轻松地找出这样的东西?

R简介的前言建议从附录A中的介绍性会议开始,一开始就是这段代码和评论.

x <- rnorm(50)
y <- rnorm(x)

Generate two pseudo-random normal vectors of x- and y-coordinates.
Run Code Online (Sandbox Code Playgroud)

文档说(第一个也是唯一的非可选)参数rnorm是结果向量的长度.因此x <- rnorm(50),从正态分布产生50个随机值的向量,平均值为0,标准差为1.

到现在为止还挺好.但为什么rnorm(x)似乎做了什么y <- rnorm(50)或者做了什么y <- rnorm(length(x))?这些替代方案中的任何一个对我来说都更清晰.

我猜测会发生什么是这样的:

  1. 对于包装rnorm不关心什么样的事情x是,只是传递到底层C函数的指针到C structx作为R对象.

  2. 用C表示的R对象是结构,后跟"数据"; 实数的R向量的C表示的数据以两个整数开始,第一个是向量的长度.(向量元素遵循那些整数.)我通过阅读R internals 在这里找到了这个.

  3. 如果编写了一个C函数来从传递的指针到R对象中找到一个R整数的值,并且用一个指向R向量的实数的指针调用它,那么它会找到向量的长度.寻找单个整数.

除了我的主要问题"我怎样才能更容易地找出这样的东西?"之外,我不介意知道我认为发生的事情是否正确以及rnorm(x)在这种情况下是否是惯用的R这一事实或更多一个草率的选择.鉴于它做了一些有用的东西,它可以依赖它,还是只是幸运的行为表达式在R中没有明确定义?

我习惯于强类型语言,如C或SQL,它们更容易理解(对我来说)语义,并且还提供更全面的引用,因此任何对R具有编程语言理论焦点的引用或针对那些习惯强打字的人也会很好.

r

6
推荐指数
1
解决办法
226
查看次数

标签 统计

r ×1