【发布时间】:2019-04-21 15:21:35
【问题描述】:
我最近开始使用 R,我想获得一组特定变量的相关矩阵。我的数据集包含 150 多个变量,但我只使用了其中的几个。我如何选择生产哪些?提前致谢!
【问题讨论】:
标签: r correlation
我最近开始使用 R,我想获得一组特定变量的相关矩阵。我的数据集包含 150 多个变量,但我只使用了其中的几个。我如何选择生产哪些?提前致谢!
【问题讨论】:
标签: r correlation
这会计算内置数据框 anscombe 的第 2、第 3 和第 4 个变量的相关性:
cor(anscombe[2:4])
## x2 x3 x4
## x2 1.0 1.0 -0.5
## x3 1.0 1.0 -0.5
## x4 -0.5 -0.5 1.0
这样做(假设他们有指定的名称):
cor(anscombe[c("x2", "x3", "x4")])
【讨论】:
我喜欢使用dplyr 包。例如,如果您的数据集名为 dataset,请执行以下操作:
library(dplyr)
然后假设您的数据集是:
dataset <- data.frame(x = c(1, 2, 3),
y = c(4, 5, 6),
z = c(100, 50, 20))
然后:
dataset %>%
as.data.frame() %>%
select(x, z) %>% # select the variables
as.matrix() %>%
cor() # the correlation matrix
# x z
# x 1.0000000 -0.9897433
# z -0.9897433 1.0000000
这种方法是充分证明。我们不知道您的数据集当前是 dataframe 还是 matrix,这会影响您使用的代码。此代码考虑了这一点。
【讨论】: