填充矩阵时,如何修正R中的舍入误差?
我有以下矩阵:填充矩阵时,如何修正R中的舍入误差?,r,R,我有以下矩阵: mat <- matrix(rnorm(10801),1,length(seq(0,30,(1/360)))) colnames(mat) <- seq(0,30, by = 1/360) mat2 <- matrix(0L,1,100) for(j in 1 : 100 ){ mat2[,j] <- round(runif(1,0,10800),0)/360 } mat在截断数字时,必须确保数字正确舍入。最安全的方法可能是将结果乘以10^5,然后取
mat <- matrix(rnorm(10801),1,length(seq(0,30,(1/360))))
colnames(mat) <- seq(0,30, by = 1/360)
mat2 <- matrix(0L,1,100)
for(j in 1 : 100 ){
mat2[,j] <- round(runif(1,0,10800),0)/360
}
mat在截断数字时,必须确保数字正确舍入。最安全的方法可能是将结果乘以10^5,然后取下限
,转换为整数。这将确保小数点后第四位的数字相等
matnames它似乎在大多数情况下都有效。您可以尝试的唯一方法是将colnames(mat)
的数字和mat2
的值四舍五入为2位小数,并将其转换为字符。然后可以确保mat2中的每个值都有一个对应的值。
mat3 <- matrix(0L,1,100)
for(i in 1:100){
mat3[1,i] <- mat[1,colnames(mat) == mat2[1,i]]
}