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

使用非数值数据计算data.frame中的cor(),r,correlation,R,Correlation,我想为包含2个因子列的10列data.frame计算相关矩阵。如果我运行cor(data.frame)我会得到非数字错误。除了用数字列创建一个新的数据框之外,还有其他方法可以运行它吗?我不确定您的数据框是什么样子。但是,我得到的印象是,您试图为所有列运行关联。我给你留下以下内容 #sample data subject <- 1:100 area <- rep(c("a", "b", "c", "d", "e"), each = 20) a <- runif(100, 0, 5

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

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

#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
#示例数据

主题我不确定您的数据帧是什么样子。但是,我得到的印象是,您试图为所有列运行关联。我给你留下以下内容

#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
#示例数据

主题我不确定您的数据帧是什么样子。但是,我得到的印象是,您试图为所有列运行关联。我给你留下以下内容

#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
#示例数据

主题我不确定您的数据帧是什么样子。但是,我得到的印象是,您试图为所有列运行关联。我给你留下以下内容

#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
#示例数据

主题
cor(as.numeric(x),as.numeric(y))
cor(as.numeric(x),as.numeric(y))
cor(as.numeric(x),as.numeric(y))
如果主题
也是一个因素
cor(foo[sappy(foo,is.numeric)])
也可以+1@akrun谢谢你的跟进。这将有助于OP。如果主题也是一个因素
cor(foo[sappy(foo,is.numeric)])
也可以+1@akrun谢谢你的跟进。这将有助于OP。如果主题也是一个因素
cor(foo[sappy(foo,is.numeric)])
也可以+1@akrun谢谢你的跟进。这将有助于OP。如果主题也是一个因素
cor(foo[sappy(foo,is.numeric)])
也可以+1@akrun谢谢你的跟进。这将有助于行动。