6

在 RDBMS 系统和其他数据库系统之前,我接触了 R 中的表和数据结构的世界。在 R/Python 中,从结构化数据(.csv 或其他格式)创建表格和列表,然后以编程方式进行数据操作是非常优雅的。

去年,我参加了数据库管理课程,学习了结构化和非结构化数据库的所有知识。我还注意到,将来自多个数据源的数据输入数据库而不是直接在 R 中使用它们是常态(为了方便和纪律?)。

出于研究目的,R 似乎足以用于连接、附加甚至复杂的数据操作。

不断出现的问题是:什么时候通过read.csv等命令直接使用R,什么时候通过使用R-SQL接口创建数据库和从表中查询来使用R?

例如,如果我有一个多源数据,例如(a)个人信息(年龄、性别、吸烟习惯),(b)结果变量(例如他们实时进行的调查),(c)协变量信息(环境特征),(d)治疗输入(改变结果的事件的发生 - 调查响应)(d)参​​加调查的参与者的时间和空间信息

在这种情况下如何处理数据收集和处理。可能有标准的行业程序,但我在这里提出这个问题,以了解个人和一小群研究人员可以采用的可行和最佳方法的列表。

4

1 回答 1

4

当您说“将来自多个数据源的数据输入数据库是常态”时,您所描述的内容听起来更像是数据仓库。使用数据库的原因有很多,在很多情况下,它们会保存来自一个来源的数据——例如,用作事务系统的数据存储的数据库通常只会保存运行该系统所需的数据,以及产生的数据由那个系统。

您所描述的过程通常称为提取、转换、加载 (ETL),如果您决定在 R 中处理数据之前决定朝着合并数据的方向前进,您可能会发现查找有关 ETL 和数据仓库的信息很有帮助.

我不能告诉你应该选择哪一个,或者完成它的最佳方式,因为它会在不同的情况下有所不同,甚至可能归结为意见。我可以告诉您的是人们创建数据仓库的一些原因,您可以自己决定它是否对您的情况有用:

数据仓库可以提供一个中心位置来保存组合数据。这意味着人们不需要在每次需要使用特定的数据组合时自己组合数据。与简单的一次性报告或组合数据提取之类的东西不同,它应该提供一些灵活性,让人们获得执行特定任务所需的组合数据集。很多时候,在企业情况下,多个事物在同一组合数据集之上运行——多维数据分析工具(多维数据集)、报告、数据挖掘等。

这样做的一些好处可能包括:

  • 当个人需要自己组合数据时,他们可以节省时间。
  • 如果需要合并的数据比较复杂,或者有些人不熟练处理这部分流程,那么数据被错误合并的风险较小;您可以确定不同的工作使用了相同的源数据。
  • 如果数据存在数据质量问题,您可以在数据仓库中解决一次,而不是解决它或在代码中重复解决它。
  • 如果不断收到新数据,则可以自动将其收集并集成到数据仓库中。

就像我说的那样,我无法为您决定这是否是一个有用的方向 - 与任何此类决定一样,您需要权衡实施此类解决方案的成本与收益,两者都将是具体的根据您的个人情况。但希望这能回答您的核心问题,即为什么有人可能选择在数据库中而不是在他们的代码中进行这项工作,并为您提供工作的起点。

于 2015-05-15T12:57:07.647 回答