如何将大矩阵的数据类型强制转换为R中的另一个类似矩阵

时间:2015-12-02 03:12:51

标签: r

我有n个矩阵,列数相同但数据类型不同。我想将所有矩阵强制转换为特定的矩阵数据类型,以便我可以rbind所有矩阵。

输入

  mat1 <- data.frame(var1=rep(2010,10), var2=letters[1:10], var3 = as.factor(rep(NA,10)))
  mat2 <- data.frame(var1=rep(2010,10), var2=letters[1:10], var3 = as.numeric(rep(1,10)))

  mat3 <- ...

我希望像data type of mat1 <- data type of mat2一样强制执行rbind(mat1,mat2)而不发出警告/错误。由于我的矩阵非常大,因此无法单独更改每个变量数据类型。

1 个答案:

答案 0 :(得分:3)

根据您的意思而不能分别更改每个变量数据类型,&#34;您可以将mapplyas

一起使用
mat1[] <- mapply(FUN = as, mat2, sapply(mat2, class), SIMPLIFY = FALSE)