我正在尝试合并/加入R中的数据并遇到问题。
我需要从每个数据集中指定多个变量,然后从数据集2中指定一个具有静态值的变量。
像
这样的东西DF1 <- data.frame(ID=c('1','2','3','4'),
Date=c('1 Apr','1 Apr','1 Apr','1 Apr'),
Sale=c('1000','1000','1000','1000'))
DF2 <- data.frame(ID=c('1','1','2','3','4'),
Date=c('1 Apr','1 Apr','1 Apr','1 Apr','1 Apr'),
Sale=c('1000','1000','1000','1000','1000'),
Key=c('P','S','P','P','P'))
DF1
ID | Date | Sale |
-----------------------
1 1 Apr 1000
2 1 Apr 1000
3 1 Apr 1000
4 1 Apr 1000
DF2
ID | Date | Sale | Key |
-------------------------------
1 1 Apr 1000 P
1 1 Apr 1000 S
2 1 Apr 1000 P
3 1 Apr 1000 P
4 1 Apr 1000 P
我需要加入DF1和DF2中具有相同名称的三个变量,以及来自DF2的Key == P.我熟悉merge和left_join的语法,但如果我尝试指定DF2中的键变量需要==静态值,而不是必须匹配来自DF1的东西,我就无法使它们工作。
类似的东西:
DF3 <- left_join(DF1, DF2, c("ID1.x" = "ID.y",
"Date.x" = "Date.y", "Sale.x" = "Sale.y", DF2$Key == "P"),
na.matches = "never")
我意识到这不会奏效,但希望它可以让我知道自己想做什么。一个变量是静态的,在DF2中充当过滤器。
如果有人问,不,我不能简单地删除Key!= P.
所有的行非常感谢任何帮助。
答案 0 :(得分:0)
做cy.click('#someButtonToNavigateOnNewPage');
cy.location('pathname', {timeout: 60000})
.should('include', '/newPage');
cy.click('#YouAreOnNewPage');
。您不必删除行,只需在合并期间删除子集。只需过滤而不是通过静态值合并。