小编rpy*_*ing的帖子

R:将函数应用于矩阵的所有行对而不使用for循环

我希望对矩阵中的所有行进行所有成对比较,显然,对于大型数据集来说,循环的双重作用将会起作用.

我查找隐式循环等apply(),但没有线索如何避免内循环.

如何实现?

r vectorization

7
推荐指数
2
解决办法
6045
查看次数

为什么矩阵中的双/数值通过使用%in%范围返回错误的答案?

我发现整数和双值在矩阵中表现不同,只有双数据类型返回错误答案.

#Test
m <- matrix(1:12,4,3)
which(!m[1,] %in% 1:5)

which(!m[1,] %in% 1:5)
[1] 3
Run Code Online (Sandbox Code Playgroud)

但是,当我更改double/numeric中的值时,

m <- matrix(c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6), 4,3)
which(!m[1,] %in% 0.10:0.35)

   [,1] [,2] [,3]
[1,]  0.1  0.5  0.3
[2,]  0.2  0.6  0.4
[3,]  0.3  0.1  0.5
[4,]  0.4  0.2  0.6

which(!m[1,] %in% 0.10:0.35)
[1] 2 3
Run Code Online (Sandbox Code Playgroud)

只有2应该在答案中,因为1,3在0.10到0.35的范围内,为什么它在使用整数和数字的计算中是不同的.谢谢!

r

6
推荐指数
1
解决办法
612
查看次数

标签 统计

r ×2

vectorization ×1