我想为140列的行计算最接近的10个值。 以下是矩阵的结构 1 2 3 4 5 .... 140 1 0.1 25.6 13.2 10.0 13.5 0.2
closest_10_neighbors<-t(apply(d2_d1_jac_sim[-1], 1, function(x) order(-x)[1:10]))
但是我在说这个错误
Error in apply(d2_d1_jac_sim[-1], 1, function(x) order(-x)[1:10]) :
dim(X) must have a positive length
如何防止此错误?
答案 0 :(得分:0)
我假设d2_d1_jac_sim
是一个矩阵。当您执行d2_d1_jac_sim[-1]
时,这不再是矩阵。示例:
> m = toeplitz(c(4,3))
> m
[,1] [,2]
[1,] 4 3
[2,] 3 4
> m[-1]
[1] 3 3 4
这等效于
> x <- c(m)
> x
[1] 4 3 3 4
> x[-1]
[1] 3 3 4
d2_d1_jac_sim[-1]
做后您想得到什么?如果要删除第一行,语法为d2_d1_jac_sim[-1,]
。