Pearson在R中的相关性是一列和未定义的试验数

时间:2016-08-04 05:00:34

标签: r pearson-correlation

我的数据如下:

ID     Vehicle      MPH
001      1           50
001      1           60
001      2           94
001      2           78
001      2           101
001      3           34
002      1           56
002      2           98
002      2           95
002      3           36
002      3           42

我想根据车辆类型关联MPH值,这意味着我会看到三个车辆MPH的相关矩阵。这可能吗?如果是这样,我将如何在R中进行此操作。每个ID和车辆不一定有相同数量的数据行。非常感谢任何建议!

数据:

ID <- c(001, 001, 001, 001, 001, 001, 002, 002, 002, 002, 002)
Vehicle <- c(1,1,2,2,2,3,1,2,2,3,3,)
MPH <- c(50, 60, 94,78,101,34,56,98,95,36,42)
df <- data.frame(ID,Vehicle,MPH)

1 个答案:

答案 0 :(得分:0)

完全不确定预期的输出。根据描述,我们需要对每个“ID”进行关联,因此我们将数据集“{ID”} split变为list,然后acast(来自reshape2通过“Vehicle”创建序列列(“Seq”)之后的'wide'格式(ave步骤执行此操作)并应用cor函数。

library(reshape2)
lapply(split(df[-1], df$ID), function(x) cor(acast(transform(x, Seq = 
        ave(Vehicle, Vehicle, FUN = seq_along)),
        Seq~Vehicle, value.var = "MPH"), use = "pairwise.complete.obs"))

注意:use有很多选项,因此最好将其更改为适合它的相关选项。