我是R的新手,我不明白为什么我无法通过data.matrix从data.frame获取数字矩阵。我创建了一个data.frame cbinding一些列表。当我需要将它转换为矩阵来做一些微积分时,它不能因为变量不是数字...
medias_1,simetrias_1,medias_5和simetrias_5是double的列表。
> datos_1 <- data.frame(cbind(Medias = medias_1, Simetrias = simetrias_1, Etiqueta = 1))
> datos_5 <- data.frame(cbind(Medias = medias_5, Simetrias = simetrias_5, Etiqueta = -1))
> datos <- rbind(datos_1, datos_5)
> muestras <- cbind(datos$Medias, datos$Simetrias)
> h <- head(muestras,3)
> h
[,1] [,2]
[1,] 0.876957 -9.356
[2,] 0.8861406 -12.598
[3,] 0.8846289 -8.224
> typeof(h)
[1] "list"
> typeof(data.matrix(h))
[1] "list"
> typeof(as.matrix(h))
[1] "list"
有什么问题?我无法理解。
解决方案:删除data.frame()中的cbind!我要将列表转换为数字,但它没有任何问题。