【问题标题】:How to structure data for R?如何为 R 构造数据?
【发布时间】:2014-09-01 10:12:41
【问题描述】:

所以...新手 R 用户在这里。我有一些观察想用 R 记录下来,以后可以添加。

项目按重量排序,并记录每个重量的数量。到目前为止,我的样子是这样的:

weights <- c(rep(171.5, times=1), rep(171.6, times=2), rep(171.7, times=4), rep(171.8, times=18), rep(171.9, times=39), rep(172.0, times=36), rep(172.1, times=34), rep(172.2, times=25))

总共将观察 500 个项目。

随着时间的推移,我将进行更多观察,以(希望)了解重量分布如何随使用/磨损而变化。我希望能够显示堆叠直方图或箱线图。

格式化/存储这些数据以促进这种用例的最佳方式是什么?矩阵、数据框,还是别的什么?

【问题讨论】:

  • 如果您计划调查您的数据集如何随时间变化,您可能会受益于使用data.frame(或者更好的是data.table),这样您就可以包括非numeric 添加新样本的日期/时间等列对您可能有用。
  • 我以前听说过data.frames...但不是data.table。我做了一点挖掘,找到了关于 CRAN 的描述。我不打算进行 多轮观察——也许是10-20 轮。当然不是(我希望!)千兆字节的价值。优势仍然值得吗?
  • 这取决于 - data.tables 在许多方面确实比 data.frames 具有巨大的性能优势,这有时是使用它们的主要原因。但是,这两个类之间也存在语法差异,这可能会说服您使用其中一个。如果您对 R 非常陌生,data.frames 可能看起来更易于使用,因为它们的语法更类似于基本 R 语言结构的其余部分。但是,我个人发现 data.tables 通常使用起来更方便,因为它具有像原生这样的功能......
  • ... 计算分组统计数据的能力 (Dt[,list(Mean=mean(x),Median=median(x)),by=list(y,z)]);使用:= 添加/修改列,这是一个方便的好处和一个性能的好处,因为对象是通过引用而不是值来修改的;引用列而不引用其名称;等等...如果您打算长期使用 R,那么您几乎肯定会在某个时候开始使用 data.tables,因此您尽早熟悉它们可能是有意义的。如果没有,他们绝对值得在路上研究。
  • 大多数绘图和分析函数都希望它们的数据为“长”形式,因此安排为数据框,其中 Value 在一列,Obs_period 在另一列。

标签: r dataframe


【解决方案1】:

正如其他 cmets 所建议的,用于数据的最通用(并且可能有用)的容器(结构)将是数据框 - 与 library(ggplot2) 一起使用,以满足您未来的绘图和绘图需求(例如 BoxPlot with ggplot以及各种histograms

玩具示例

下面的所有代码都是使用上面的 weights 向量,创建一个带有一些虚拟 ID 的数据框并绘制一个盒须图,并产生下面的图。

library(ggplot2)
IDs<-sample(LETTERS[1:5],length(weights),TRUE) #dummy ID values

df<-data.frame(ID=IDs,Weights=weights) #make data frame with your 
#original `weights` vector
ggplot(data=df,aes(factor(ID),Weights))+geom_boxplot() #box-plot

【讨论】:

  • 我知道它只是一个“玩具”示例,但它似乎不适用于我的系统。不确定ID ...此时并没有真正运行任何需要因素的东西。我所设想的只是一个数组或值的“表”,每列一批,每列约 500 个条目。观察结果(权重)与拍摄日期无关。
  • 在这种情况下,您可以看到这个问题和geom_plot stackoverflow.com/questions/25584637/… 的使用。数据框(和数据表)对于处理数据和以不同方式“查看”数据很有用。一开始我可能看起来很复杂,但通常是收集和保存数据的最通用(阅读未来证明)方式。反正这是我的经验。祝你好运
猜你喜欢
  • 1970-01-01
  • 2021-03-17
  • 2011-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-12
  • 2014-11-06
相关资源
最近更新 更多