Получаване случайни числа в R, или в други среди, често е съществено изискване за научни изследвания. Процедурата по този начин може да намали всякакво пристрастие, генерирано от нас при избора на извадка, с последващо премахване на подозрения при избора на една или друга проба.

Не знаете ли за какво говоря? Представете си за момент, че трябва да изберем 10 копия, за да оценим хипотеза. Как рецензентите на научната статия и/или нейните читатели могат да бъдат сигурни, че подборът е направен въз основа на емпирични аргументи, а не на трикове, насочени към избора на тези лица, които оправдават нашата хипотеза? Е, възможно решение е да се получат произволни числа. И в R е много лесно да се получат произволни числа.

На нашата страница ние сме влюбени в R. Така че не само ще намерите статии за случайни числа, приложени към фактори или списъци, но и за създаване на интервали за прогнозиране с ggplot2, доверителни интервали и дълги и други. Ако искате да видите всичко, което публикуваме за R, ви каним да го видите ...

Какви функции има?

Необходимо е да ви спомена, преди да вляза в работа програмиране R, че има две конкретни функции да генерираме произволни числа в R. Ако искаме да получим произволно цели числа, ще трябва да използваме функцията проба. Напротив, ако това, което искаме, е рационални числа (т.е. те имат десетични знаци), ще трябва да изпълним функцията руни. Но не се притеснявайте, защото ще ги разгледаме подробно по-долу.

По-важно, ако е възможно, е, че изпълнението на двете функции, които ще научим в тази публикация, ще даде набор от случайни числа, които ще бъдат равномерно разпределени през интервала че сме маркирали. Това е основна характеристика, която трябва да вземем предвид, тъй като ако искаме да генерираме произволни числа, които са адаптирани към определен тип разпределение, като нормалното разпределение, те вече няма да бъдат равномерно разпределени в посочения интервал.

случайни

Функцията R (sample) използва за произволно генериране на цели числа

Нека започнем първо с цели числа, тоест числа, които не съдържат десетични знаци. С проста функция на R ще видим как да получим случайните му числа. Тази функция се нарича sample () и се намира в основния пакет R. Но нека първо я видим с пример, за да обясним по-долу какво означава и как можем да я модифицираме, за да я адаптираме към нашите интереси:

Нека разбием атрибутите на командата проба:

  • 1:30 = означава, че интервалът за данни ще бъде между двете числа (1 и 30 включително).
  • 10 = означава броят на случайните числа, които искате да излязат от предишния интервал.
  • замени = F/T = ако искате случайните числа да могат да се повтарят (т.е. да получите например две числа 3), оставяме стойност T (вярно). Ако не искаме повторение, поставяме стойност F (невярно).

Важно е да се отбележи, че фактът, че случайни числа могат да бъдат повторени (замени = T), не означава, че дубликати или повтарящи се числа винаги ще се появяват.

R runif () функция за генериране на случайни рационални числа

Както видяхме, предишната примерна функция не позволява да се получат десетични числа. Ами ако искаме да получим и числа с десетични знаци? Е, както знаете, това може да се постигне с функцията runif на R. Тази функция е включена в пакета R, наречен stats. Ще го видим и в действие с пример за задълбочено изучаване по-късно:

Както при примерната функция, функцията runif се състои от три атрибута:

  • 5 = е броят на десетичните числа, които искаме да генерираме на случаен принцип. В този случай искаме да върне 5 произволно избрани числа.
  • мин = 3 Y. макс = 4 те представляват интервала, от който случайните числа ще бъдат извлечени в R. В нашия пример нашите случайни числа ще бъдат между 3 и 4. Важно е да се спомене, че не е задължително да се поставят min = и max = в нашите функция. Ако ги пропуснем, както е показано по-долу, случайните числа от маркирания интервал ще продължат да се извличат.

Важното е поддържа ред на атрибутите, първата стойност е броят на случайните числа, които искаме, втората - минималната стойност на интервала и третата - максималната стойност на същото.

Последен коментар: резултатите са различни

Изпълнението на всяка от горните функции [sample () или runif ()] по повтарящ се начин ще ни даде, очевидно, набор от винаги различни случайни числа. Нека го видим, като изпълним функцията sample () 6 пъти със същите атрибути: