我有两个data.tables:samples, resources
resources与samplesvia primary和secondaryid 连接.我想首先通过主id将来自资源的信息与sample-table相结合,并且只有当它产生NA时,我才想要从同一个表(在一个data.table命令链中)中使用辅助资源.
# resources:
primary secondary info
1: 17 42 "I"
2: 18 NA "J"
3: 19 43 "K"
# samples:
name primary secondary
1: "a" 17 55
2: "b" 0 42
3 "c" 18 42
Run Code Online (Sandbox Code Playgroud)
期望的结果是:
# joined tables:
name info # primary secondary
1: "a" "I"
2: "b" "I"
3: "c" "J"
Run Code Online (Sandbox Code Playgroud)
第一个连接通道primary很容易,它产生
# Update:
samples <- data.table(name = letters[1:3],
primary = c(17, 0, …Run Code Online (Sandbox Code Playgroud) 我想使用R6类和泛型方法(UseMethod)将不同类(Small1,MyClassA和Small2,MyClassB)的小对象添加到MyClass的Big实例内的公共列表(MyListA和MyListB).
这适用于创建(Big是使用Small1和-2创建的),但之后失败:
> Big$AddObj(Small3) #produces:
Error in UseMethod("AddObj", x) : no applicable method for 'AddObj'
applied to an object of class "c('MyClassA', 'R6')"
Run Code Online (Sandbox Code Playgroud)
我不太确定我的错误是什么.以后如何为其他对象调用AddObj-Method?建议将非常感谢.
require('R6')
MyClass <- R6Class("MyClass",
public = list(
initialize = function(...) {
for (x in list(...)) {AddObj(x)}
},
AddObj = function(x) {UseMethod("AddObj", x)},
AddObj.MyClassA = function(x) {
MyListA <<- c(MyListA, list(x))},
AddObj.MyClassB = function(x) {
MyListB <<- c(MyListB, list(x))},
AddObj.default = function(x) {
otherObjects <<- c(otherObjects, list(x))},
Show = function() {
print(methods(AddObj))
if (length(MyListA)>0) print(MyListA) …Run Code Online (Sandbox Code Playgroud) 我需要一些dplyr的帮助.我有两个数据框 - 一个是巨大的,有几个时间序列A,B,...在那里(LargeDF),另一个是(Categories)有时间间隔(左边界和右边界).
我想添加另一列LargeDF,标记为leftBoundary包含适当的边界值,如下所示:
LargeDF
ts timestamp signal # left_boundary
1 A 0.3209338 10.43279 # 0
2 A 1.4791524 10.34295 # 1
3 A 2.6007494 10.71601 # 2
Run Code Online (Sandbox Code Playgroud)
和
Categories
ts left right
1 A 0 1
2 A 1 2
3 A 2 3
Run Code Online (Sandbox Code Playgroud)
我想出的代码是
LargeDF %>%
group_by(ts) %>%
do(myFUN(., Categories))
# calls this ...
myFUN <- function(Large, Categ) {
CategTS <- Categ %>%
filter(ts == Large[1, "ts"][[1]])
Large …Run Code Online (Sandbox Code Playgroud) 我尝试使用ENV变量来配置连接URL,我有一个预先配置有alchemy_conn和broker_url等的ami,我已经将环境变量写入从/ ams实例中的/ etc / environment中,以覆盖airflow.cfg中的属性。文件。我也能够从python代码访问变量。
但是它在运行ariflow时似乎没有生效,也尝试重新启动该过程但没有用,它仍然指向airflow.cfg文件中的那个
在R,我有两个测量一个data.table red和green,想计算其累积的相关性.
library(data.table)
DT <- data.table(red = c(1, 2, 3, 4, 5, 6.5, 7.6, 8.7),
green = c(2, 4, 6, 8, 10, 12, 14, 16),
id = 1:8)
Run Code Online (Sandbox Code Playgroud)
如何在一个data.table命令中获得以下输出?
...
> DT[1:5, cor(red, green)]
[1] 1 # should go into row 5
> DT[1:6, cor(red, green)]
[1] 0.9970501 # should go into row 6, and so on ...
> DT[1:7, cor(red, green)]
[1] 0.9976889
Run Code Online (Sandbox Code Playgroud)
编辑: 我知道它可以通过循环解决,但我的data.table有大约100万行分组成较小的块,所以循环相当慢,我认为可能还有其他一些可能性.