Генерация вектора числа убывающего порядка - PullRequest
1 голос
/ 06 октября 2019

Я хочу сделать вектор чисел (с плавающей точкой) случайным образом нарисованным в диапазоне (40,0 - 12,0) в порядке убывания. Как я могу это сделать?

Я пытался использовать следующее:

unique(cummax(sample.int(40)))

Но это не позволяет мне указать длину. Также я хочу попробовать числа с плавающей точкой, а не целые числа. Наконец, я хочу, чтобы числа были от 40,0 до 12,0 в порядке убывания. Как мне достичь этого в R.

enter image description here

1 Ответ

3 голосов
/ 06 октября 2019

Мы можем использовать runif, где мы можем указать диапазон, а затем sort это в порядке убывания

n <- 10
sort(runif(n, min = 12, max = 40), decreasing = TRUE)
# [1] 38.7 37.8 35.5 29.8 25.9 24.2 19.5 18.0 12.3 12.2

Чтобы построить график, мы можем сделать

n <- 100
nums <- sort(runif(n, min = 12, max = 40), decreasing = TRUE)

library(ggplot2)

data.frame(n = 1:n, nums) %>%
   ggplot() + aes(n, nums) + geom_point() + geom_line()

enter image description here

Или в базе R

plot(1:n, nums, type = "l")

Вот что-то ближе к ожидаемому результату с dexp

nums <- seq(12, 40, length.out=100)
data.frame(x= 1:length(nums), y = dexp(nums, 0.65)) %>%
    ggplot() + aes(x, y) + geom_point() + geom_line()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...