【问题标题】:"Multidimensional Arrays" | "Data frame" [closed]“多维数组” | “数据框”[关闭]
【发布时间】:2018-05-25 02:07:44
【问题描述】:

我是 R 的新手。 ¿我如何将“多维数组”作为“数据框”使用函数,例如“as.data.frame”和“rbind”?提前致谢。

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

年度服务水平总结

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  

我该如何解决?

【问题讨论】:

  • 可能最快的是reshape2::melt()
  • 非常感谢您对跟随学习的支持!
  • 首先使用= 而不是&lt;-rbind() 语句中命名组件...

标签: arrays r dataframe rbind


【解决方案1】:

创建类似“多维数组”(例如,Matlab)的一种方法是使用tidyr::nest()

由于nest() 允许您将数据框列表存储在数据框(多维)的列中,因此您可以将“数据框”函数应用于该列。

以下是有关此功能/包/方法的一些信息:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 2017-06-05
    • 2018-11-15
    相关资源
    最近更新 更多