R中什么函数可以遍历矩阵的每一个元素运算?我有一个50000*300的大矩阵,现在我想遍历矩阵中的每

略胜亿筹 |浏览7587次
2018/02/24 10:31
R中什么函数可以遍历矩阵的每一个元素运算?我有一个50000*300的大矩阵,现在我想遍历矩阵中的每一个 元素进行运算,我会用嵌套循环来完成,但是运算速度非常慢,请问R中有没有什么函数可以提高运算速度,apply函数是对矩阵的整行或整列进行运算,有没有对每一个元素逐一运算的函数? 我的嵌套循环是: for (i in 1:dim(matrix)[1]) { for (j in 1:dim(matrix)[2]) { matrix[i,j] <- ifelse(matrix[i,j] == 1, -1, 0) } } 循环中的ifelse函数只是一个示例,求各位大神帮忙!
收藏关注

满意回答

2018/02/24 14:12

这种问题当然是具体问题具体分析的。

你的循环例子,可以用这个来解决。看下面的代码就明白了。

set.seed(2018)

mt <- matrix(sample(0:1,100,replace=T),5,20)


mtsub <- matrix(0,5,20)

mtsub[mt==1] <- -1

mtsub


jiangbeilu

其他回答(1)    我来补答
  • 回答于 2018/02/24 11:02

    试试matrix <- ifelse(matrix == 1, -1, 0)

0人关注该问题
+1
 加载中...