【发布时间】:2018-04-12 02:36:08
【问题描述】:
我对Advanced R的this section的数据结构分类有点困惑。
特别是,数组具有未定义的维度,原子向量是 1d。你如何使用 R 来证明它?这个分类是否应该反映来自dim() 的输出?
> dim(c(1))
NULL
> dim(array(1))
[1] 1
从这个previous post 听起来像dim() 地址维度。
【问题讨论】:
标签: r
我对Advanced R的this section的数据结构分类有点困惑。
特别是,数组具有未定义的维度,原子向量是 1d。你如何使用 R 来证明它?这个分类是否应该反映来自dim() 的输出?
> dim(c(1))
NULL
> dim(array(1))
[1] 1
从这个previous post 听起来像dim() 地址维度。
【问题讨论】:
标签: r
我觉得dim的返回值不是你想的那样。
来自dim的文档:它返回
价值
对于数组(尤其是矩阵),dim 检索对象的 dim 属性。为 NULL 或众数整数向量。
它不返回对象的向量空间维度(1-d、2-d 等)。
如果一个对象没有设置dim 属性,我们可以期待NULL。
atv <- c(1)
attributes(atv)
# NULL
ara <- array(1)
attributes(ara)
#$dim
#[1] 1
在我看来,原子向量与其他数据类型的不同之处在于没有dim 属性。只要将dim 设置为原子向量,它就会变成矩阵或数组。
class(atv)
# "numeric"
dim(atv) <- 1
class(atv)
# "array"
dim(atv)
# 1
【讨论】:
dim跟维度无关?
nd 代表“n 维”,如果这就是“无维”的意思,则 n >= 1。顺便说一句,如果有更长的讨论,可以去 R 聊天室:chat.stackoverflow.com/rooms/25312/r-public