R麻烦得到相关系数

时间:2015-03-19 00:32:10

标签: r

我在寻求获取数据集的相关系数方面遇到了困难。 我首先使用ggpairs然后使用cor函数。

听起来可能缺乏知识,但我没有意识到我无法计算类型不是数字的列的相关性。 例如,我想现在一些AGE和CITY之间的相关性。我有什么选择这样的情况?或者我应该做什么数据转换?

谢谢。

3 个答案:

答案 0 :(得分:2)

正如thelatemail所说,有时候图表不仅仅是一个统计数据......

cities <- c("Montreal", "Toronto", "New York", "Plattsburgh")
dat <- data.frame(city = sample(cities,size = 200, replace = TRUE), age = rnorm(n = 200, mean = 40, sd = 20))
dat$city <- as.factor(dat$city)
plot(age ~ city, data = dat)

然后,为了进行适当的分析,您有几个选项... anova,或以城市作为解释变量(因子)的回归...尽管您的问题可能对Cross Validated有更好的回答!

顺便说一句:请忽略消极时代,这已经很快完成了。

enter image description here

答案 1 :(得分:2)

我认为你首先需要回答你正在尝试做什么的问题。相关系数(Pearson's r)是可以在两个数值上计算的特定统计量(其中二分变量可以被认为是数值)。它具有一些特殊的特征,包括它以-1和1为界,并且它没有依赖或自变量的概念。它也不代表解释的方差比例;你需要对它进行平方以获得通常的衡量标准。它的作用是估计两个变量之间关联的大小和方向。

当你将变量(例如city)作为两个变量之一时,这些特性使得使用r成为不合适。如果您想知道城市解释的年龄差异比例,您可以在城市的一组虚拟变量上运行年龄回归,并查看模型的整体R平方。然而,与r不同的是,你不会有一个简单的方向(只是每个城市的方向),并且它必然与你根据年龄建立预测城市的模型一样。

答案 2 :(得分:0)

关于City等定性数据,您可以使用Spearman的相关性。

您可以找到有关此相关性的更多信息here

在此命令的帮助下,它可以简单地在R中使用:

cor(x,use =,method =)

所以,如果你想在一个简单的例子中使用它:

cor(AGE,CITY,method =“Spearman”)

我希望能帮到你