我有一组从hadoop中提取的数据
1234567 ask 13
1234567 death 2
1234567 freek 15
1234567 hurt 2
1234567 pain 10
9999999 death 15
9999999 frerik 14
9999999 hurt 1
9999999 lisa 2
9999999 pain 12
我需要把它转换成
death freek frerik hurt lisa pain
1234567 2 15 0 2 0 10
9999999 15 0 14 1 2 12
我应该用什么方法最好。
2条答案
按热度按时间kxeu7u2r1#
我编写了自己的java程序,实现了一个arraylist来存储2列,比如a和b,并将它们复制到2d矩阵中,形成标题和1列行,在a和b的匹配中使用c值。。。
让我知道如果有一个更好的方式代码下面
csvreader reader=null;
rkue9o1l2#
另一种选择是使用
library(reshape2)
(使用示例)df
来自@richard scriven的帖子)或使用
tidyr
```library(dplyr)
library(tidyr)
df %>%
spread(V2, V3, fill=0)
V1 ask death freek frerik hurt lisa pain
#1 1234567 13 2 15 0 2 0 10
#2 9999999 0 15 0 14 1 2 12