【发布时间】:2013-01-13 18:07:27
【问题描述】:
我正在尝试使用 R 将行聚合到列。这是我的数据集示例。
age sex hash emotion color
22 1 b17f9762462b37e7510f0e6d2534530d Lonely #006666
22 1 b17f9762462b37e7510f0e6d2534530d Energetic #66CC00
22 1 b17f9762462b37e7510f0e6d2534530d Calm #FFFFFF
22 1 b17f9762462b37e7510f0e6d2534530d Angry #FF0000
24 1 7bb50ca97a9b517239b39440a966d2f6 Calm #006666
24 1 7bb50ca97a9b517239b39440a966d2f6 Excited #0033cc
24 1 7bb50ca97a9b517239b39440a966d2f6 Empty/void #999999
24 1 7bb50ca97a9b517239b39440a966d2f6 No emotion #FF6600
26 1 209f1ba8ef86e855deccc0aae120825c Comfortable #330066
21 1 b9e9309c0b1255a7efb2edf9ba66ae46 Energetic #330099
21 1 b9e9309c0b1255a7efb2edf9ba66ae46 Happy #330066
26 1 209f1ba8ef86e855deccc0aae120825c No emotion #FFCC00
26 1 209f1ba8ef86e855deccc0aae120825c Calm #006666
21 1 61debd3dea6d1aacce5c9fc7daec4fe5 Empty/void #FFFFFF
21 1 b9e9309c0b1255a7efb2edf9ba66ae46 Calm #006666
26 1 209f1ba8ef86e855deccc0aae120825c No emotion #339900
21 1 61debd3dea6d1aacce5c9fc7daec4fe5 Loved #FF6600
26 1 209f1ba8ef86e855deccc0aae120825c No emotion #66CC00
我想做的是得到这个:
age sex hash #000000 #FF0000 ... #FFFFFF
22 1 8798tkojstwz9ei sad happy ... loved
...
一个响应由哈希定义,相关数据是年龄和性别。
我希望将每个响应设为 1 而不是几列。每种颜色都应该有它自己的列,并将相关的情感作为该列的值。
整个数据集有 13 种颜色、20 多种情绪和 1000 多种响应。数据集看起来与示例完全相同,并存储在 mySQL 数据库中。
我尝试过 reshape,但它不能很好地处理分类数据,或者我没有使用适当的函数。有任何想法吗?如果需要,它可以包括一些 mySQL 准备工作。 Java 在这里非常慢,因为我有 12k+ 行,所以 R 听起来很合适。
谢谢。
【问题讨论】:
-
我认为
aggregate不适合这个问题的标题(或标签)。您能否考虑将问题重新命名为更准确地描述您的问题所在? -
当然,你有什么建议?
-
不确定!这完全取决于您卡在哪里,因为如果尝试类似的任务,其他人也可能会卡在哪里。更准确的标题和标签将增加这些用户找到他们正在寻找的答案的机会。顺便说一句,欢迎来到 SO!