我有10000多行的动物园对象.
> head(tt)
A B
2007-01-04 0.005945924 0.0021167475
2007-01-05 -0.004201991 -0.0080020024
2007-01-08 0.001740897 0.0045804104
2007-01-09 0.000000000 -0.0008163931
2007-01-10 -0.004503531 0.0032615812
2007-01-11 -0.005841138 0.0043863282
Run Code Online (Sandbox Code Playgroud)
我尝试了以下行的变体,但无济于事.
rollapply(tt, 21, function(x) cor(x[,1],x[,2]))
Run Code Online (Sandbox Code Playgroud)
每个条目都给出1的相关性,看起来它正在从相关矩阵的对角线上取下1.
2013-11-25 1 1
2013-11-26 1 1
2013-11-27 1 1
2013-11-29 1 1
2013-12-02 1 1
2013-12-03 1 1
Run Code Online (Sandbox Code Playgroud)
我真正想要的是-0.4649,如下所示
> cor(tt)
A B
A 1.0000000 -0.4649881
B -0.4649881 1.0000000
Run Code Online (Sandbox Code Playgroud) 我有2个数据表:items和category
require(data.table)
set.seed(1L) # for reproducibility
category <- data.table(from = c(0,8,15,25,45.5,90,101),
to = c(5,12,20,39,60,100,99999),
class = c("A","B","C","D","E","F","G"))
items <- data.table(weight = sample(0:999,10000,replace=TRUE))
Run Code Online (Sandbox Code Playgroud)
我希望"items"中的每一行都有一个类标签,例如,如果第一项的权重为7,它就会选择"B"类.类别权重不必跨越所有权重,可能存在间隙,因此类别A为0-5,B为8-12,C为15-20等
我可以在数据框中执行此操作%in%,但"item"数据集有1000万个项目,"category"数据集有200多个类别),因此我尝试在数据表中执行此操作.
我该怎么做?