【发布时间】:2011-04-20 14:48:16
【问题描述】:
我无法将data.frame 转换为矩阵格式。因为我想将我的 data.frame 与主要因子变量更改为数字矩阵,所以我使用了以下代码
UN2010frame <- data.matrix(lapply(UN2010, as.numeric))
但是,当我检查UN2010frame 的模式时,它仍然显示为一个列表。因为我要运行的代码(Ordrating)不接受列表格式的数据,所以我使用UN2010matrix <- unlist(UN2010frame) 取消列出我的矩阵。当我这样做时,我的第一行(以前是带有列名的行)变成了 NA。这对我来说是个问题,因为当我尝试使用此数据集运行有序 IRT 模型时,我收到以下错误消息。
> Error in 1:nrow(Y) : argument of
> length 0
我认为这是因为我第一行中的所有值现在都消失了。
如果您能在任何方面帮助我,我们将不胜感激。 非常感谢!
海莉
【问题讨论】:
-
能否请您提供一个
UN2010的小样本,以便我们尝试重现您的结果? -
你为什么不只是做
data.matrix(UN2010)? data.matrix 首先将所有列转换为数字,然后绑定它们。所以整个 lapply 是完全没有必要的。更重要的是,它会破坏您的代码,因为它会返回一个列表。
标签: r matrix dataframe r-factor