我是实验室(志愿者)的研究助理。我和一小群人被要求进行数据分析,以从大型研究中提取一组数据。不幸的是,这些数据是通过某种在线应用程序收集的,并且没有编程为以最可用的形式输出数据。
下图说明了基本问题。有人告诉我这叫做“重塑”或“重组”。
问题:从图1到图2进入具有超过10k条目的大数据集的最佳过程是什么?


我是实验室(志愿者)的研究助理。我和一小群人被要求进行数据分析,以从大型研究中提取一组数据。不幸的是,这些数据是通过某种在线应用程序收集的,并且没有编程为以最可用的形式输出数据。
下图说明了基本问题。有人告诉我这叫做“重塑”或“重组”。
问题:从图1到图2进入具有超过10k条目的大数据集的最佳过程是什么?


Answers:
正如我在评论中指出的那样,问题中没有足够的细节来提出真正的答案。由于即使您需要找到正确的术语并提出问题也需要帮助,所以我可以概括地说一下。
从某种意义上讲,数据清理可以在任何软件中完成,并且可以使用Excel或R进行。这两种选择都有其优缺点:
R: R将需要陡峭的学习曲线。如果您对R或编程不是很熟悉,那么可以在Excel中快速而轻松地完成的事情将使您难以尝试在R中进行。另一方面,如果您不得不再次进行此操作,那么学习将会花费的时间。此外,编写和保存代码以清除R中的数据的能力将减轻上面列出的缺点。以下是一些链接,这些链接将帮助您开始使用R中的这些任务:
您可以在Stack Overflow上获得很多好的信息:
Quick-R也是宝贵的资源:
使数字进入数字模式:
了解R的另一个宝贵资源是UCLA的统计信息帮助网站:
最后,您总是可以通过良好的旧Google找到很多信息:
更新:当每个“学习单位”(在您的情况下,是一个人)进行多次测量时,这是关于数据集结构的常见问题。如果每个人都有一行,则您的数据被认为是“宽”格式的,但是例如,您的响应变量必定会有多列。另一方面,您的响应变量只能只有一列(结果是每个人有多行),在这种情况下,您的数据被称为“长”格式。在这两种格式之间移动通常被称为“重塑”数据,尤其是在R世界中。
reshape()的加州大学洛杉矶分校的统计帮助网站。  reshape很难合作。  Hadley Wickham提供了一个名为reshape2的软件包,该软件包旨在简化该过程。哈德利的个人网站reshape2是这里,快速-R的概述是在这里,而且有一个非常漂亮的教程在这里。  尝试使用R进行以下操作:
> ddf
   sess_id user_id     quest  response
1        1       a       age        29
2        1       a satisfied  st_agree
3        1       a    gender      male
4        1       a     phone    iphone
5        2       a       age        29
6        2       a satisfied not_agree
7        2       a    gender    female
8        2       a     phone    iphone
9        3       b       age        29
10       3       b satisfied     agree
11       3       b    gender      male
12       3       b     phone   android
> 
> library(reshape2)
> dcast(ddf, sess_id+user_id ~ quest, value.var='response')
  sess_id user_id age gender   phone satisfied
1       1       a  29   male  iphone  st_agree
2       2       a  29 female  iphone not_agree
3       3       b  29   male android     agree
在Scala中,这称为“爆炸”操作,可以在dataFrame上完成。如果您的数据是rdd,请先通过toDF命令转换为dataFrame ,然后再使用.explode方法。
data.table,dplyr,plyr,和reshape2-我建议避免Excel和数据透视表如果可能的话。