我已经通过read.csv将原始数据(10000行和392列)导入了R中。我想知道如何将其转换为矩阵格式。非常感谢您的帮助!
mydataframe <- data.frame(a=c(1,2),b=c(2,3))
mymatrix <- as.matrix(mydataframe)
read.csv
读取的数据实际上与matrix
一致,那么首先可以使用scan
,可能需要使用skip=1
来跳过一个标题行。m = matrix(scan("file.csv", what=numeric(), skip=1), nrow=392)
相对于具有简单结构的数据而言,扫描速度比read.csv快得令人不安。
d <- data.frame(1:10, letters[1:10])
as.matrix(d)
data.matrix(d)
> as.matrix(d)
X1.10 letters.1.10.
[1,] " 1" "a"
[2,] " 2" "b"
[3,] " 3" "c"
[4,] " 4" "d"
[5,] " 5" "e"
[6,] " 6" "f"
[7,] " 7" "g"
[8,] " 8" "h"
[9,] " 9" "i"
[10,] "10" "j"
> data.matrix(d)
X1.10 letters.1.10.
[1,] 1 1
[2,] 2 2
[3,] 3 3
[4,] 4 4
[5,] 5 5
[6,] 6 6
[7,] 7 7
[8,] 8 8
[9,] 9 9
[10,] 10 10
as.matrix()
转换的整个矩阵将被转化为字符矩阵,而data.matrix()
则通过用内部数字代码替换因子标签来保留数据的数值属性。