我是实验室(志愿者)的研究助理。我和一小群人被要求进行数据分析,以从大型研究中提取一组数据。不幸的是,这些数据是通过某种在线应用程序收集的,并且没有编程为以最可用的形式输出数据。
下图说明了基本问题。有人告诉我这叫做“重塑”或“重组”。
问题:从图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和数据透视表如果可能的话。