在R中查找相关性超过一定百分比的数据集中的列数
我正在研究一个有48个变量的数据集,通过在R中看到相关图,大多数变量高度相关。我试图找到相关的变量数量>70% 我的数据框称为在R中查找相关性超过一定百分比的数据集中的列数,r,R,我正在研究一个有48个变量的数据集,通过在R中看到相关图,大多数变量高度相关。我试图找到相关的变量数量>70% 我的数据框称为diagnostics\u data,我使用的代码是: cor_data <- cor(diagnosed_data) corrplot::corrplot(cor_data, method = "number", title = "correlation plot b/w the attributes") cor_dat
diagnostics\u data
,我使用的代码是:
cor_data <- cor(diagnosed_data)
corrplot::corrplot(cor_data, method = "number",
title = "correlation plot b/w the attributes")
cor_data让我们使用mtcars
数据集,它有10个变量(而不是48个变量)
存在10(10-1)/2个唯一相关对。如果你看一下相关矩阵,它对应于对角线上方的元素。通过检查这些上三角元素的相关性是否大于0.7(或小于-0.7),我们可以看到有多少唯一对高度相关:
cor_mat <- cor(mtcars)
unique_cors <- cor_mat[upper.tri(cor_mat)]
sum(abs(unique_cors) > 0.7)
# [1] 19
让我们使用mtcars
数据集,它有10个变量(而不是48个变量)
存在10(10-1)/2个唯一相关对。如果你看一下相关矩阵,它对应于对角线上方的元素。通过检查这些上三角元素的相关性是否大于0.7(或小于-0.7),我们可以看到有多少唯一对高度相关:
cor_mat <- cor(mtcars)
unique_cors <- cor_mat[upper.tri(cor_mat)]
sum(abs(unique_cors) > 0.7)
# [1] 19
这将帮助您将结果存储在数据框中,并对其进行进一步分析。同时使用mtcars
数据集
library(dplyr)
t(combn(names(mtcars), 2)) %>% # get all pairwise combinations of variables
data.frame(., stringsAsFactors = F) %>% # save as dataframe
rowwise() %>% # for each row (pair)
mutate(cor_value = cor(mtcars[X1], mtcars[X2])) %>% # calculate correlation value
ungroup() # forget the grouping
# # A tibble: 55 x 3
# X1 X2 cor_value
# <chr> <chr> <dbl>
# 1 mpg cyl -0.8521620
# 2 mpg disp -0.8475514
# 3 mpg hp -0.7761684
# 4 mpg drat 0.6811719
# 5 mpg wt -0.8676594
# 6 mpg qsec 0.4186840
# 7 mpg vs 0.6640389
# 8 mpg am 0.5998324
# 9 mpg gear 0.4802848
# 10 mpg carb -0.5509251
# # ... with 45 more rows
这将帮助您将结果存储在数据框中,并对其进行进一步分析。同时使用mtcars
数据集
library(dplyr)
t(combn(names(mtcars), 2)) %>% # get all pairwise combinations of variables
data.frame(., stringsAsFactors = F) %>% # save as dataframe
rowwise() %>% # for each row (pair)
mutate(cor_value = cor(mtcars[X1], mtcars[X2])) %>% # calculate correlation value
ungroup() # forget the grouping
# # A tibble: 55 x 3
# X1 X2 cor_value
# <chr> <chr> <dbl>
# 1 mpg cyl -0.8521620
# 2 mpg disp -0.8475514
# 3 mpg hp -0.7761684
# 4 mpg drat 0.6811719
# 5 mpg wt -0.8676594
# 6 mpg qsec 0.4186840
# 7 mpg vs 0.6640389
# 8 mpg am 0.5998324
# 9 mpg gear 0.4802848
# 10 mpg carb -0.5509251
# # ... with 45 more rows
请提供您尝试过的代码以及一个最小的可复制示例。Hi@amrrs,下面是我用来绘制所有变量cor_数据70%之间相关性图的代码。但是我想在代码的帮助下找到关联度大于70%的变量的数量。希望这是清楚的。谢谢:)与什么相关的变量数?相关性意味着两个变量的比较。你的意思是变量对的数量吗?请提供你尝试过的代码以及一个最小可复制的示例。Hi@amrrs,下面是我用来绘制所有变量相关图70%的代码。但是我想在代码的帮助下找到关联度大于70%的变量的数量。希望这是清楚的。谢谢:)与什么相关的变量数?相关性意味着两个变量的比较。你是说变量对的数量吗?