使用非数字数据计算data.frame中的cor()

时间:2014-10-07 02:53:27

标签: r correlation

我想计算包含2个因子列的10列data.frame的相关矩阵。如果我运行cor(data.frame),我会得到非数字错误。有没有其他方法来运行它,除了用数字列创建一个新的数据框?

1 个答案:

答案 0 :(得分:3)

我不确定您的数据框架是什么样的。但是,我得到的印象是,您尝试为所有列运行关联。我为你留下以下内容。

#sample data
subject <- 1:100
area <- rep(c("a", "b", "c", "d", "e"), each = 20)
a <- runif(100, 0, 50)
b <- runif(100, 20, 60)
c <- runif(100, 10, 70)

foo <- data.frame(subject, area, a,b,c, stringsAsFactors = FALSE)

cor(foo[,c(3:5)], use = "everything") #select columns with numbers

#          a           b           c
#a 1.0000000  0.16797099  0.11609168
#b 0.1679710  1.00000000 -0.01162148
#c 0.1160917 -0.01162148  1.00000000