我有一个由浮点数组成的矩阵。我已经检查过,没有遗漏的值。
最近,我更改了(例如)<:p>的列标题
2670
到
COLUMN-HEADER-A-2670
我正在运行最近模板预测算法提供的代码,我无法更改。
我发现,对于矩阵的每一行,在列轴上计算平均值时,可能会出现错误,即
exp.mean <- apply(exp.dataset,1,mean,na.rm=T)
所有行的平均值被强制为NA
,R控制台告诉我
Browse[2]> exp.mean <- apply(exp.dataset,1,mean,na.rm=T)
There were 50 or more warnings (use warnings() to see the first 50)
1: In mean.default(newX[, i], ...) :
argument is not numeric or logical: returning NA
我认为它与标题类型有关,但我找不到任何解释它的东西。该算法使用前面的列表示法。
答案 0 :(得分:1)
答案是在3.1.0 read.table()
中返回一个字符向量而不是数字向量,如果将表格表示为双矩阵可能会失去准确性。
来自here:
type.convert()(因此默认情况下read.table())在表示数字输入时返回字符向量或因子,因为double会失去准确性。同样对于复杂的输入。
如果文件包含具有无法表示的小数位数的数字数据,并且要读取为数字,请将read.table()中的colClasses指定为&#34; numeric&#34;。