r - 将矩阵更改为仅包含唯一数字 R 的矩阵

标签 r matrix jitter

如何将矩阵更改为仅包含唯一数字的矩阵

我尝试过这个:

dataset <- as.matrix(iris[,1:4])

head(dataset)
     Sepal.Length Sepal.Width Petal.Length Petal.Width
[1,]          5.1         3.5          1.4         0.2
[2,]          4.9         3.0          1.4         0.2
[3,]          4.7         3.2          1.3         0.2
[4,]          4.6         3.1          1.5         0.2
[5,]          5.0         3.6          1.4         0.2
[6,]          5.4         3.9          1.7         0.4

datasetUnique <- jitter(dataset,factor = 0.001)

head(datasetUnique)
     Sepal.Length Sepal.Width Petal.Length Petal.Width
[1,]     5.100001    3.499998     1.399999   0.2000009
[2,]     4.900000    2.999999     1.399999   0.2000016
[3,]     4.700001    3.199999     1.300000   0.1999983
[4,]     4.600001    3.100002     1.500001   0.1999988
[5,]     4.999999    3.599999     1.399998   0.1999989
[6,]     5.399999    3.900000     1.699999   0.3999981

但这并不意味着所有数字都是唯一的。 我如何实现这一目标?

最佳答案

添加更多小数,然后它们就变得唯一。

options(digits=10)

dataset <- as.matrix(iris[,1:4])
datasetUnique <- jitter(dataset,factor = 0.001)

> head(datasetUnique)
     Sepal.Length Sepal.Width Petal.Length  Petal.Width
[1,]  5.099982209 3.500005068  1.399988968 0.2000082396
[2,]  4.900019249 2.999988556  1.399985779 0.2000159874
[3,]  4.699981033 3.199993951  1.300013794 0.1999958768
[4,]  4.600000369 3.099985655  1.499996616 0.1999957113
[5,]  5.000014609 3.599997256  1.400002512 0.1999995772
[6,]  5.399992065 3.900010935  1.700003428 0.3999821202

第二种可能性是使用非随机数来防止“坏运气”。

options(digits=10)

dataset          <- as.matrix(iris[,1:4])
increment_matrix <- matrix(seq( from = 0, to = 0.001, length.out =  ncol(dataset)* nrow(dataset) ) , ncol = ncol(dataset))
datasetUnique    <- dataset + increment_matrix

关于r - 将矩阵更改为仅包含唯一数字 R 的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38123786/

相关文章:

r - 基于值的 Geom_jitter 颜色

r - ggplot 直方图相对于 Axis 不在正确的位置

c++ - 矩阵的传递性

python - 无法确定要输入机器学习算法的 2D 特征矩阵结构

r - 使用 ggplot2 在箱线图上叠加抖动点

r - ggplot改变连续y轴值的顺序

r - 带图像的样式下载按钮

python - 每月对数据进行重新采样 R 或 Python

javascript - Shiny :insertUI 之前使用 removeUI 删除了一个 id

java - 如何使用apache的DBSCANClusterer