楼主: 李会超
15926 16

[学习分享] R语言merge函数总结 [推广有奖]

11
fily909 发表于 2014-12-17 14:56:17
请问使用 merge 函数合并后 行的顺序怎么控制;为什么all.x=T的情况下,行的顺序还属会变
已有 1 人评分经验 收起 理由
李会超 + 20 鼓励积极发帖讨论

总评分: 经验 + 20   查看全部评分

12
李会超 发表于 2014-12-17 21:32:16
merge里面有个参数sort设置成false

13
fily909 发表于 2014-12-18 09:51:28
李会超 发表于 2014-12-17 21:32
merge里面有个参数sort设置成false
这个只能控制连接字段的 顺序;后来我用了join函数;生成的dataframe的行顺序就和x一样,不会变

14
kaifengedu 发表于 2014-12-18 10:55:15
fily909 发表于 2014-12-18 09:51
这个只能控制连接字段的 顺序;后来我用了join函数;生成的dataframe的行顺序就和x一样,不会变
能举个例子讲一下吗?怎么用join函数?

15
fily909 发表于 2014-12-18 11:52:48
kaifengedu 发表于 2014-12-18 10:55
能举个例子讲一下吗?怎么用join函数?
library(plyr)
first <- ddply(baseball, "id", summarise, first = min(year))
system.time(b2 <- merge(baseball, first, by = "id", all.x = TRUE))
system.time(b3 <- join(baseball, first, by = "id"))
> system.time(b2 <- merge(baseball, first, by = "id", all.x = TRUE))用户 系统 流逝 0.87 0.02 0.89 > system.time(b3 <- join(baseball, first, by = "id"))用户 系统 流逝 0.17 0.00 0.17

16
李会超 发表于 2014-12-18 13:57:28
fily909 发表于 2014-12-18 09:51
这个只能控制连接字段的 顺序;后来我用了join函数;生成的dataframe的行顺序就和x一样,不会变
连接字段的顺序不变,岂不是行顺序也不会变?
m1 <- merge(authors, books, by.x = "surname", by.y = "name",all.x=TRUE,sort=FALSE)
m1的顺序和authors一样啊

17
fily909 发表于 2014-12-18 15:45:16
李会超 发表于 2014-12-18 13:57
连接字段的顺序不变,岂不是行顺序也不会变?
m1
all.x=T;如果x的连接字段有重复;那么x的行顺序也会变
已有 1 人评分经验 收起 理由
李会超 + 60 分析的有道理

总评分: 经验 + 60   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 03:45