如何在不丢失矩阵结构的情况下更改矩阵列表中每个矩阵的类型/类

时间:2019-06-04 18:24:07

标签: r lapply

我有一个矩阵列表,例如:

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

我可以使用什么函数将矩阵转换为数值而不丢失矩阵结构?

1 个答案:

答案 0 :(得分:1)

这应该对您有用:

lapply(cdf, function(x) `storage.mode<-`(x, "numeric"))

本质上,当您调用as.numeric时,将更改存储模式(character)和类(matrix)。要仅更改存储模式并保留类,可以使用storage.mode(x) <- "numeric"或函数storage.mode<-(或mode<-)。只要确保在它周围加上反引号即可。

您可以在R Language Definition中阅读详细信息。