【发布时间】:2012-09-18 17:12:59
【问题描述】:
我想知道为什么以下不适用于我发布的矩阵结构here(我使用了 dput 命令)。
当我尝试跑步时:
apply(mymatrix, 2, sum)
我明白了:
Error in FUN(newX[, i], ...) : invalid 'type' (list) of argument
但是,当我检查以确保它是一个矩阵时,我得到以下信息:
is.matrix(mymatrix)
[1] TRUE
我意识到我可以通过将数据取消列出到临时变量中然后重新创建矩阵来解决这个问题,但我很好奇为什么会发生这种情况。
【问题讨论】:
-
请注意,错误与
apply无关,而是在将sum应用于矩阵的列时引发。 (你可以运行apply(mymatrix, 2, identity)而不报错) -
@DavidRobinson 您可能不会收到错误消息,但您也可能无法得到想要的结果。
-
@DWin:我并不是说这是一个替代品——我的意思是强调错误发生在哪里。