【问题标题】:What does index do in r?r中的索引有什么作用?
【发布时间】:2021-05-20 16:59:42
【问题描述】:

我有一个正在使用的代码,其中包含以下行,

data2 <- apply(data1[,-c(1:(index-1))],2,log)

我知道这会从 data1 中创建一个新的数据框,将列值对数转换并消除一些列,但我不明白如何删除这些列。 1:(index-1) 到底是做什么的?

【问题讨论】:

  • 大概index 是您之前在代码中定义的变量。它不是 R 中的特殊关键字。

标签: r dataframe indexing


【解决方案1】:

“:”运算符创建一个整数序列。因为(1:(index-1) ) 是数字并且用于提取运算符“[”的第二个位置应用于数据帧,所以它指的是列号。编写代码的人不需要c-函数。它本来可以写得更经济:

data1[,-(1:(index-1))]  
# but the outer "("...")"'s are needed so it starts at 1 rather than -1

所以它会从传递给apply 的对象中删除第一个index-1 列。 (正如 MrFlick 指出的那样,必须在将其传递给 R 之前定义索引。R 中的 index 没有默认值或解释。

【讨论】:

  • 谢谢! index 是在代码中预定义的,我在重新运行时碰巧错过了它。
【解决方案2】:

假设索引为 5,则索引 -1 返回 4,因此序列将从 1 到 4,即然后我们使用 - 表示循环遍历除前 4 列之外的列,如 MARGIN = 2

【讨论】:

    猜你喜欢
    • 2011-11-12
    • 2016-07-13
    • 2014-09-17
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    相关资源
    最近更新 更多