我有class AppDelegate: NSObject, NSApplicationDelegate {
override init() {
super.init()
let info = Bundle.main.infoDictionary!
let version = info["RealmSchemaVersion"] as! UInt64
Realm.Configuration.defaultConfiguration.schemaVersion = version
}
...
}
data.table
test
我希望得到
test=data.table(x=c(1,2,NA,NA,5))
test
x
1: 1
2: 2
3: NA
4: NA
5: 5
如5-2 = 3并均匀分配到3行
test
x y
1: 1 1
2: 2 1
3: NA 1
4: NA 1
5: 5 NA
功能仅适用于
diff()
答案 0 :(得分:1)
这是一个矢量化但有些过于复杂的解决方案(IMO)似乎适用于我测试的所有情况
test[, y := {
indx <- !is.na(x)
indx2 <- .I[indx]
c(rep(NA, min(indx2) - 1),
rep(diff(x[indx]) / diff(indx2), diff(indx2)),
rep(NA, .N - max(indx2) + 1))
}]
test
# x y
# 1: 1 1
# 2: 2 1
# 3: NA 1
# 4: NA 1
# 5: 5 NA
这基本上将非NA值差异除以它们的位置差异然后复制它们。如果开头或结尾的值为NA
,它还会从左右添加NA
。