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