标签: compound-key

如何使用多列作为键合并两个数据帧?

假设我有以下数据帧:

DF1 <- data.frame("A" = rep(c("A","B"), 18),
                  "B" = rep(c("C","D","E"), 12),
                  "NUM"= rep(rnorm(36,10,1)),
                  "TEST" = rep(NA,36))

DF2 <- data.frame("A" = rep("A",6),
                  "B" = rep(c("C","D"),6),
                  "VAL" = rep(c(1,3),3))
Run Code Online (Sandbox Code Playgroud)

*注意:变量ABin中的每个唯一组合DF2应该具有唯一性VAL.

对于每一行,我想,以取代NATEST与相应价值VALDF1,如果在列中的值A,并A匹配和列中的值BB该行的比赛.否则,我会离开TESTNA.如果不使用匹配循环每个组合,我将如何做到这一点?

理想情况下,答案将扩展到两个数据帧,其中有许多列要匹配.

merge r compound-key dataframe

4
推荐指数
2
解决办法
2万
查看次数

3
推荐指数
1
解决办法
1467
查看次数

具有惰性属性的Realm中的复合键

我发现在Swift中使用带有复合主键的Realm这个很棒的解决方案:https://github.com/realm/realm-cocoa/issues/1192

public final class Card: Object {
  public dynamic var id = 0 {
      didSet {
          compoundKey = compoundKeyValue()
      }
  }
  public dynamic var type = "" {
      didSet {
          compoundKey = compoundKeyValue()
      }
  }
  public dynamic lazy var compoundKey: String = self.compoundKeyValue()
  public override static func primaryKey() -> String? {
      return "compoundKey"
  }

  private func compoundKeyValue() -> String {
      return "\(id)-\(type)"
  }
}
Run Code Online (Sandbox Code Playgroud)

但我发现Realm不支持延迟属性,在我的情况下我收到此错误:

exception NSException*name:"RLMException" - reason:"在Realm Swift对象类上不允许使用惰性托管属性'compoundKey'.要么将属性添加到忽略的属性列表中,要么将其设置为非惰性." 0x00007f8a05108060

是否仍然可以使用没有懒惰属性的复合键?

compound-key realm swift

3
推荐指数
1
解决办法
1085
查看次数

SQL复合键

我正在尝试创建一个表,作为主键使用来自其他表的值.我的讲座说这是一个复合键(主要+外国)但我似乎无法找到如何启动一个.可以找人试着解释这个概念以及如何尝试实现它?

sql compound-key

2
推荐指数
1
解决办法
3852
查看次数

SQLAlchemy:使用IN运算符查询复合主键

假设一个表foo具有复合主键(a,b),如何使用SQLAlchemy(PostgreSQL方言)生成以下sql查询?

SELECT * FROM foo WHERE (a,b) IN ((1,2), (2,3));
Run Code Online (Sandbox Code Playgroud)

postgresql sqlalchemy compound-key

2
推荐指数
1
解决办法
419
查看次数