R中矩阵的函数

时间:2016-10-13 19:41:15

标签: r function for-loop matrix

我是R中的新人(非常新的)我正在努力制作一个应该采用矩阵(old_matrix)并返回一个新矩阵(new_matrix)的函数,但是new_matrix old_matrix中作为素数的所有值在new_matrix中出现时应乘以2。所以新矩阵应该与旧矩阵看起来相同,但是旧的矩阵出现时,这个元素应该乘以2.

我认为我应该从for循环开始,但我已经在努力学习如何使循环遍历矩阵的所有元素。我非常感谢能够接近完成这项功能的所有帮助!

1 个答案:

答案 0 :(得分:1)

isPrime包中的numbers功能可能是一个很大的帮助

# Start by creating an example to work with
old_matrix <- matrix(sample.int(100, 25), 5, 5)
# Create your new matrix and determine which numbers are prime
new_matrix <- old_matrix
primeVals <- numbers::isPrime(old_matrix)
# Index into the matrix using the prime value indicator and multiply by 2
new_matrix[primeVals] <- new_matrix[primeVals]*2