"Multidimensional Arrays" | "Data frame"

"Multidimensional Arrays" | "Data frame"

我是 R 的新手。 ¿如何将 "multidimensional Arrays" 作为 "data frame" 使用函数,例如 "as.data.frame" 和 "rbind"?提前致谢。

我正在分析一个包含 2011 年至 2013 年观察结果的数据库。我使用了以下代码:

按年分类的 LOS 摘要

a <- tapply(stroke$los, stroke$year, summary) 
loss <- as.data.frame(rbind(los2011 <- c(2011, 
         a[["2011"]][["1st Qu."]], a[["2011"]][["Median"]],
            a[["2011"]][["3rd Qu."]]), 
  los2012 <- c(2012, a[["2012"]][["1st Qu."]], 
      a[["2012"]][["Median"]], a[["2012"]][["3rd Qu."]]), 
  los2013 <- c(2013, a[["2013"]][["1st Qu."]],
     a[["2013"]][["Median"]], a[["2013"]][["3rd Qu."]])))

但是,我得到了这个。

 1 2011 
 2 2012
 3 2013  

我该如何解决?

创建类似 "multidimensional array"(例如 Matlab)的一种方法是使用 tidyr::nest().

由于 nest() 允许您将数据框列表存储在数据框的一列中(多维),您可以对该列应用 "data frame" 函数。

这里有一些关于这个的信息function/package/approach:

  • nest() 嵌套数据帧的概念 首次引入时 tidyr 0.4.0 发布。
  • nest() 函数的 explanation
  • 按照在线书籍 R for Data Science.
  • 中的说明创建带嵌套的列表列

此外,由于您是 R 的新手,而且您似乎对数据框格式很感兴趣,您可能想看看 tidyverse——它是为数据科学和数据框设计的 R 包的集合-样的心态。请参阅 here 了解软件包网站。