我有一个矩阵列表,例如:
cdf
[[1]]
[,1] [,2]
[1,] "361" "403"
[2,] "332" "450"
[3,] "346" "444"
[4,] "364" "415"
使用lapply(cdf, as.numeric)
将每个矩阵作为数字矢量返回:
[[1]]
[1] 361 332 346 364 367 402 722 415
我可以使用什么函数将矩阵转换为数值而不丢失矩阵结构?
答案 0 :(得分:1)
这应该对您有用:
lapply(cdf, function(x) `storage.mode<-`(x, "numeric"))
本质上,当您调用as.numeric
时,将更改存储模式(character
)和类(matrix
)。要仅更改存储模式并保留类,可以使用storage.mode(x) <- "numeric"
或函数storage.mode<-
(或mode<-
)。只要确保在它周围加上反引号即可。
您可以在R Language Definition中阅读详细信息。