【问题标题】:In R, what does a negative index do?在 R 中,负索引有什么作用?
【发布时间】:2011-11-12 07:04:31
【问题描述】:

我正在将程序的一部分(不足以编译和运行)从 R 移植到 C++。我对 R 不熟悉。我在网上使用参考资料做得很好,但被以下行难住了:

cnt2.2<-cnt2[,-1]

我猜:

  1. cnt2 是一个二维矩阵
  2. cnt2.2 是一个用句点“。”声明的新变量。使用与字母字符相同的方式。
  3. &lt;- 是一个作业。
  4. [,-1] 访问数组的一部分。我以为[,5] 表示所有行,仅第 5 列。如果这是正确的,我不知道 -1 指的是什么。

【问题讨论】:

    标签: r syntax indexing matrix-indexing


    【解决方案1】:

    手册第 2.7 节对此进行了介绍:http://cran.r-project.org/doc/manuals/R-intro.html#Index-vectors

    它是cnt2 对象的负索引,指定除第一列之外的所有行和所有列。

    【讨论】:

      【解决方案2】:

      负索引指定删除(而不是保留)特定元素......所以x[,-1] 指定删除第一列(行是逗号之前的第一个维度,列是逗号之后的第二个维度)。来自?"["http://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html):

      仅用于“[”索引:“i”、“j”、“...”可以是合乎逻辑的 向量,指示要选择的元素/切片。这样的载体 如有必要,将被回收以匹配相应的范围。 ‘i’, ‘j’, ‘...’ 也可以是负整数,表示 元素/切片排除在选择之外。

      【讨论】:

        【解决方案3】:

        1) cnt2 是一个二维矩阵

        从您提供的代码来看,它确实是某种二维结构(很可能是矩阵)。

        2) cnt2.2 是一个用句点“.”声明的新变量。使用与字母字符相同的方式。

        正确。

        3)

        正确。

        4) [,-1] 访问数组的一部分。我认为 [,5] 表示所有行,仅第 5 列。如果这是正确的,我不知道 -1 指的是什么。

        [,-1] 选择所有列除了第 1 列。请注意,与 C++ 不同,R 中的索引从 1 而不是 0 开始。

        【讨论】:

        • +1 评论从 1 开始的索引(尽管我希望 OP 已经解决了这个问题)
        猜你喜欢
        • 1970-01-01
        • 2016-07-13
        • 2021-11-05
        • 2022-12-23
        • 1970-01-01
        • 1970-01-01
        • 2012-09-18
        相关资源
        最近更新 更多