为 cor() 选择 R 中的特定元素

Selecting specific elements in R for cor()

我现在需要找到两个变量 cor(dataframe$x,dataframe$y) 之间的相关性,其中 x, y 是列名,dataframe 是数据框。我的数据框中的一列是指示函数(0 和 1)。

我想知道如何比较两个不同组(0 和 1)的 x 值及其相应的 y 值。我是 R 的新手,所以我想我想知道 cor() 函数是否有内置功能,或者我是否必须用 x's 和 [=15 重建 dataframe/array =] 来查找不同组的相关性。

猜猜这也引出了另一个问题(我用谷歌搜索过,我还不是很清楚):在这些函数下使用 R 中的向量、数组和数据框有什么区别(即 cor(), t.test(), 等等)?

您可以计算指标列指定的行子集的相关性。 select 一个子集使用 dataframe[logical_index,] 其中 logical_index 是布尔向量(在 R 中称为逻辑)。为此,您应该将指标转换为布尔值。

logical_index <- as.logical(dataframe$indicator)
cor(dataframe[logical_index,]$x, dataframe[logical_index,]$y)
cor(dataframe[!logical_index,]$x, dataframe[!logical_index,]$y)

向量、矩阵、数组、列表和数据框都是 R 的不同原始类型。Hadley 在 Advanced R 中对这些差异进行了清晰且相对简单的介绍:http://adv-r.had.co.nz/Data-structures.html