【发布时间】:2011-08-01 13:36:40
【问题描述】:
我正在尝试在 R 中创建一个 256*256 矩阵。我想的简单任务...如果我创建这样的数据
aa=1:65536
z = matrix(bb,nrow=256,ncol=256,byrow=T)
我有我想要的矩阵,例如
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
等等。但是,我不是在创建“aa”数据,而是读取它,以便
aa = read.table("myfile.txt",header=F)
> aa[c(1:10),]
[1] 1513.708 1513.971 1514.067 1513.971 1513.875 1513.622 1513.524 1513.578 1513.577 1513.481
当我读取 aa 时,数据看起来不错,但是当我尝试将其转换为矩阵时,矩阵读取为
[,1] [,2] [,3] [,4] [,5]
[1,] Numeric,65536 Numeric,65536 Numeric,65536 Numeric,65536 Numeric,65536
等等。知道为什么会这样吗?
非常感谢您的帮助!
【问题讨论】:
-
你是如何“把它变成矩阵”的。我猜你没有使用 data.matrix() 这本来是正确的方法。在我看来,您遍历了它并创建了一个列表矩阵。
-
aa是什么类? (试试
class(aa))。 -
@DWin 你是正确的。这就是我创建矩阵的方式。感谢您的回答,我意识到这不是这样做的方法。我将来会使用 data.matrix 。 @Joris Meys 班级是
data.frame -
猜对了。那么@DWins 的答案是正确的。 (或者您可以使用
as.matrix(),但对于因素,它具有不同的默认行为。)