【问题标题】:getting numeric dataframe after sapply in R在 R 中 sapply 后获取数字数据框
【发布时间】:2020-07-31 08:01:16
【问题描述】:

我有以下对象:

df <- structure(c("2", "2", "2", "2", "2", "0", "0", "2", "2", "2", 
"2", "2", "2", "2", "2", "2", "2", "2", "2", "2", "0", "0", "2", 
"2", "2"), .Dim = c(5L, 5L), .Dimnames = list(NULL, c("GID7173723", 
"GID4878677", "GID88208", "GID346403", "GID268825")))

当我运行 class(df) 时,我得到了这个:

[1] "matrix" "array" 

这里什么是矩阵,什么是数组?我认为矩阵和数组本质上是一回事。

我也想将df 放入数字数据集。

【问题讨论】:

  • sapply 具有默认的simplify = TRUE。阅读?sapply
  • 它并没有改变任何刚刚尝试过的东西我仍然得到[1] "matrix" "array"
  • 很难说是什么导致了数组类。你能分享你的 sapply(...) 命令吗?

标签: r arrays dataframe matrix


【解决方案1】:

正如?array 中所述,“二维数组与矩阵是一回事。”但是数组可以有超过 2 个维度。

如果你想删除类数组,你可以通过class(df) &lt;- "matrix" 强制它(虽然你可能会产生意想不到的效果)。

【讨论】:

  • 但是为什么有两个语句,不应该只有'matrix''array',因为我拥有的是一个对象
  • R 对象可以有多个类。在您的情况下,矩阵是一种特殊的数组。因此它具有通用类“数组”和更精确的类“矩阵”。
  • 我明白了,多个班级。谢谢
猜你喜欢
  • 2021-10-16
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 2018-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多