它是什么意思:样本[,昏暗(样本)[[2]],2]

时间:2018-02-21 06:10:43

标签: r

我是R(和程序)的新手。有一些例子有一两个“[”,但我不能确定,它们意味着什么。

dim(data)[[-1]] # means the column number of a data frame
dim(data)[-1]   # what does it mean?
samples[,dim(samples)[[2]],2] # what does this mean?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

如果数据存储在类data.frame,matrix或array的对象中,dim()将返回包含每个维度大小的数字向量。因此,子集化运算符仅应用于该向量。您描述的操作可以更普遍地使用。以下是对这些内容的解释。

vec <- dim(data)

vec[-1] - 删除与vec[2:length(vec)]

类似的第一个元素

vec[[-1]] - 与上例相同,但通常用于data.frames和list的上下文中。这是一个展示差异的例子:

dt <- data.frame(a = rnorm(20), b = rnorm(20))
dt[-1]    # returns data.frame with only b column
dt[[-1]]  # returns numeric vector containing values of b column

samples[, dim(samples)[[2]], 2] - 此语法更常用于选择数组中的维度(具有多个行和列的矩阵),并返回包含第三维最后一列中所有行的数字向量。可以玩以下内容自己看看:

array <- array(data = rnorm(8), dim = c(2, 2, 2))
array[, dim(array)[[2]], 2]

注意:Plz提供示例数据,因此我们不必猜测对象是什么或复制它。