난수/단어 시퀀스를 생성하기 위한 무작위 버전의 seq?

난수/단어 시퀀스를 생성하기 위한 무작위 버전의 seq?

얼마 전 나는 의사 무작위로 생성된 일련의 숫자를 표준 출력으로 인쇄하기 위해 seq와 같은 도구를 사용하고 있었습니다. 범위, 시드, 샘플 수 등을 지정할 수 있습니다.

이 도구의 이름을 잊어버렸습니다. 누구든지 나를 도와줄 수 있나요?

예를 들어 다양한 확률 분포를 지원하거나 다양한 문자 및 길이/문자 분포에서 임의의 단어 시퀀스를 생성하는 등의 고급 도구를 알고 있을 수도 있습니다.

답변1

초트 말하는 거야?

$ jot 
jot: jot - print sequential or random data
usage:  jot [ options ] [ reps [ begin [ end [ s ] ] ] ]
Options:
    -r      random data
    -c      character data
    -n      no final newline
    -b word     repeated word
    -w word     context word
    -s string   data separator
    -p precision    number of characters

Ubuntu를 사용하는 경우 패키지는 athena-jot입니다. 간단한 예:

$ jot -r 10 12 27
26
13
22
18
25
12
13
23
15
23

안녕히 가세요.

답변2

필요한 작업을 수행하기 위해 작은 스크립트를 작성하는 것이 마음에 들지 않는다면 이것을 권장합니다.오른쪽, 오픈 소스 통계 시스템.

예를 들어, 100개의 가우스 분포 숫자 목록을 얻으려면 다음 코드 한 줄을 고려해 보세요.

$ Rscript -e 'write(rnorm(100) * 100 + 100, "", 1)'
234.2903
-25.53289
168.0262
-28.49810
105.0687
85.97355
269.5072
...

그것을 분석해 봅시다.

표준 R명령을 사용하면 대화형 프로그래밍 환경으로 이동할 수 있습니다. 수동으로 수행하는 방법을 알아내거나 단계별로 구축하는 방법을 알아내려는 경우에는 괜찮지만 질문에 따르면 숫자 목록만 원하는 것처럼 들립니다. 다른 프로그램. 따라서 우리는 Rscript전통적인 Unix 스크립트 인터프리터처럼 동작하는 를 사용합니다. R 스크립트가 포함된 파일 이름을 전달하거나 -e표준 플래그를 사용하여 명령줄에서 전체 프로그램 텍스트를 전달할 수 있습니다.

rnorm()"정규" 또는 가우스 분포를 사용하여 난수 목록을 얻는 데 사용되는 R 함수입니다. 원하는 숫자의 수를 나타내는 첫 번째 인수만 최대 3개까지 사용할 수 있습니다. 우리는 100이 필요합니다. 다른 두 개의 선택적 매개변수의 기본값을 사용하면 평균 0과 표준편차 1을 얻습니다.

다음 산술은 R 언어의 멋진 기능을 보여줍니다. 일반적인 언어에서 스칼라 값을 계산할 수 있는 것처럼 쉽게 전체 데이터 테이블, 행렬 등에 대해 산술을 수행할 수 있습니다. 생성된 모든 값에 100을 곱한 다음 100을 더할 수 있기 때문에 추가합니다. R은 완전한 프로그래밍 언어이므로 이 숫자 목록을 사용하여 수행할 수 있는 작업은 무한합니다. . 같은 시스템 대신에 이와 같은 시스템을 사용하는 것입니다 jot.

이전 작업의 결과를 write()기본적으로 파일에 데이터를 쓰는 함수에 전달하지만 두 번째 인수(파일 이름)에 빈 문자열을 전달하여 이를 재정의하므로 대신 터미널을 사용하여 테이블을 씁니다. . 다음 매개변수는 1출력이 단일 열 형식이기를 원한다는 것을 알려줍니다.

R은많은기본 시스템에 추가 난수 생성 기능이 내장되어 있습니다. 예를 들어 jot다음 스크립트를 사용하여 lcpriani의 답변에 있는 명령을 모방할 수 있습니다.

$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'

여기서는 runif()12에서 27 사이에 균일하게 분포된 난수 10개를 얻는 데 이를 사용합니다. rnorm()위에서 사용한 것과 마찬가지로 이 함수는 부동 소수점 값을 반환하므로 round()이를 화면에 쓰기 전에 가장 가까운 정수 값으로 변환해야 합니다.

R에는 풍부한 추가 기능 세트도 있습니다.두루미, Perl의 CPAN을 모델로 한 패키지 저장소입니다. 당신이 관심을 가질 만한 것은 간단히 말해서무작위의, 인터페이스 역할을 함무작위 조직, 대기 소음에서 생성된 실제 난수를 반환하는 서비스입니다.

R은 완전한 프로그래밍 환경이므로 R에서 텍스트 형식으로 숫자를 실제로 가져올 필요는 없을 것입니다. R에서 문제를 완전히 해결할 수도 있습니다. 시도 해봐.

관련 정보