将相关矩阵转换为R中的数据帧

时间:2019-05-02 11:38:42

标签: r

data(iris)
iris$Species<-NULL
cor(iris)

并获取cor。矩阵

             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    1.0000000  -0.1175698    0.8717538   0.8179411
Sepal.Width    -0.1175698   1.0000000   -0.4284401  -0.3661259
Petal.Length    0.8717538  -0.4284401    1.0000000   0.9628654
Petal.Width     0.8179411  -0.3661259    0.9628654   1.0000000

获取描述性统计信息

library(psych)
describe(iris)

和结果

             vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
Sepal.Length    1 150 5.84 0.83   5.80    5.81 1.04 4.3 7.9   3.6  0.31    -0.61 0.07
Sepal.Width     2 150 3.06 0.44   3.00    3.04 0.44 2.0 4.4   2.4  0.31     0.14 0.04
Petal.Length    3 150 3.76 1.77   4.35    3.76 1.85 1.0 6.9   5.9 -0.27    -1.42 0.14
Petal.Width     4 150 1.20 0.76   1.30    1.18 1.04 0.1 2.5   2.4 -0.10    -1.36 0.06

统计量很多,但我们只需要均值和标准差

这个问题。 如果我们在变量之间具有相关性,并且知道这些变量的均值和sd,则如何转换cor。矩阵到数据帧。 显然,数据框中的值很可能与实际值不同。

1 个答案:

答案 0 :(得分:0)

您尚未指定概率分布,因此我将假设您想要一个具有正态分布的数据框,因为您提到了均值和协方差。

您可以使用export class AppComponent { @ViewChildren('inputTag') inputTag: QueryList<any>; add() { console.log(this.inputTag); this.inputTag.map((tag) => { // Below line will get all the ids of the input tag. console.log(tag.nativeElement.id); }) } } 软件包中的mvrnorm()函数。它将生成多元正态分布,并且具有与原始集合相似的相关矩阵。但是请注意,除非原始数据具有相同的分布,否则只有相关性和均值才能确定。

MASS