如果我有以下数据表:Correlationmatrix从数据表
set.seed(1)
TDT <- data.table(Group = c(rep("A",40),rep("B",60)),
Id = c(rep(1,20),rep(2,20),rep(3,20),rep(4,20),rep(5,20)),
Time = rep(seq(as.Date("2010-01-03"), length=20, by="1 month") - 1,5),
norm = round(runif(100)/10,2),
x1 = sample(100,100),
x2 = round(rnorm(100,0.75,0.3),2),
x3 = round(rnorm(100,0.75,0.3),2),
x4 = round(rnorm(100,0.75,0.3),2),
x5 = round(rnorm(100,0.75,0.3),2))
我怎样才能通过时间计算X1,X2,X3,X4和X5之间的关系?
此:
TDT[,x:= list(cor(TDT[,5:9])), by = Time]
不起作用。
如何在datatable
中完成?
你的数据不具备标识和时间的每个组合的多次观察,因为有必要计算的相关性。试试'TDT [Id == 1&Time ==“2010-01-02”]',或Id和Time的任何其他组合。每个只有一行。 –
@玫瑰哈特曼对不起,我的意思只是时间 – user3032689