我似乎无法将列表转换为矩阵。我使用:
加载.csv文件dat = read.csv("games.csv", header = TRUE)
> typeof(dat)
[1] "list"
但是当我尝试使用:
将其转换为数字矩阵时games = data.matrix(dat)
由于某种原因,条目的值都已更改。有什么问题?
答案 0 :(得分:2)
虽然纳撒尼尔的解决方案对你有用,但我认为重要的是要指出你可能需要调整你对正在发生的事情的看法。
typeof(dat)
可能是list
,但class
是data.frame
。
这可能有助于说明差异:
# typeof() & class() of `pts` is `list`
# whereas typeof() `dat` in your example is `list` but
# class() of `dat` in your example is a `data.frame`
pts <- list(x = cars[,1], y = cars[,2])
as.matrix(pts)
## [,1]
## x Numeric,50
#3 y Numeric,50
head(as.matrix(data.frame(pts)))
## x y
## [1,] 4 2
## [2,] 4 10
## [3,] 7 4
## [4,] 7 22
## [5,] 8 16
## [6,] 9 10
这些是来自'as.matrix()`函数的两个基本不同的结果。
如果您在read.csv
之外的其他背景下尝试此操作,请确保您不会对结果感到失望。
答案 1 :(得分:1)
如果没有提供任何其他信息,也许您可以尝试:
games <- as.matrix(dat)