我是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?
非常感谢你的帮助!
答案 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提供示例数据,因此我们不必猜测对象是什么或复制它。