我有一系列数据框,其中包含多个变量。我需要找到可用于对这些数据帧进行分组并将相同函数应用于其中一个变量的所有可能组合。在示例中,我使用了一个计算相关性的函数。接下来,我将每一对组合的结果组合成一个公共帧,其中记录了函数执行的结果以及它属于哪个对。现在我正在以一种相当笨拙的方式(如我的示例中)并寻找一种方法来以更快的速度执行这些操作,而无需如此多的代码。
a <- data.table(c(1,2,3,4), c(5,6,7,8))
b <- data.table(c(2,3,4,5), c(6,7,8,9))
c <- data.table(c(3,4,5,6), c(7,8,9,10))
a_a <- cor(a$V1, a$V1)
a_b <- cor(a$V1, b$V1)
a_c <- cor(a$V1, c$V1)
b_a <- cor(b$V1, a$V1)
b_b <- cor(b$V1, b$V1)
b_c <- cor(b$V1, c$V1)
c_a <- cor(c$V1, a$V1)
c_b <- cor(c$V1, b$V1)
c_c <- cor(c$V1, c$V1)
total <- rbind(a_a, a_b, a_c, b_a, b_b, b_c, c_a, c_b, c_c)
如果您将几个传递
data.table给函数data.table,那么这些表将与帮助组合在一起cbind。在下面的代码中,我们使用了类似的原理,但使用了一个小技巧来获取可用的列名。