我在R中有如下数据框:
V1 V2 V3 V4
1 81 abc goth 2014-01-01 05:54:21
2 81 pqr deathrock 2014-01-01 05:54:21
3 81 pqr goth 2014-01-01 05:54:21
4 22 abc 80s 2014-01-01 05:54:22
5 22 uio retro 2014-01-01 05:54:22
6 12 xyz 80s 2014-01-01 05:54:54
7 81 gef goth 2014-01-01 05:54:55
8 22 wvy 80s 2014-01-01 05:54:22
9 12 abc hit 2014-01-01 05:54:54
10 12 abc listen 2014-01-01 05:54:54
我想先根据第V1列对数据框进行分组,然后将第V3列(所有第1列值分组在一起,对于第1列的每个唯一值,第3列值组合在一起),以获得类似于以下:
V1 V2 V3 V4
1 81 abc goth 2014-01-01 05:54:21
2 81 gef goth 2014-01-01 05:54:55
3 81 pqr goth 2014-01-01 05:54:21
4 81 pqr deathrock 2014-01-01 05:54:21
5 22 abc 80s 2014-01-01 05:54:22
6 22 wvy 80s 2014-01-01 05:54:22
7 22 uio retro 2014-01-01 05:54:22
8 12 xyz 80s 2014-01-01 05:54:54
9 12 abc hit 2014-01-01 05:54:54
10 12 abc listen 2014-01-01 05:54:54
我该怎么做?
我试过了
df = df %>% group_by(V1, V3)
但它没有给出正确的结果。
答案 0 :(得分:1)
如果您 对订购数据框使用感兴趣:
dfNew = df %>% %>% arrange(V1,V3)
但是如果您按组进行计算并需要按订单使用查看结果:
dfNew = df %>% group_by(V1, V3)%>% arrange(V1,V3)
答案 1 :(得分:1)
试试这个:
df[order(df$V1, df$V3, decreasing=TRUE),]
输出:
V1 V2 V3 V4
1: 81 abc goth 2014-01-01 05:54:21
2: 81 pqr goth 2014-01-01 05:54:21
3: 81 gef goth 2014-01-01 05:54:55
4: 81 pqr deathrock 2014-01-01 05:54:21
5: 22 uio retro 2014-01-01 05:54:22
6: 22 abc 80s 2014-01-01 05:54:22
7: 22 wvy 80s 2014-01-01 05:54:22
8: 12 abc listen 2014-01-01 05:54:54
9: 12 abc hit 2014-01-01 05:54:54
10: 12 xyz 80s 2014-01-01 05:54:54