동전 던지기 R 기능 생성 방법

폴탁 알비에 트라

저는 R에서 4 개의 동전을 m 번 던지는 실험을 시뮬레이션하는 함수를 만들려고합니다. 각 실험은 각 동전에 "숫자"또는 "이미지"의 모양을 기록합니다.
m 개의 실험 결과를 표 형식으로 제시하고 표의 마지막 열에 "표시되는 숫자의 변 수"를 추가합니다.

Sim_Coin<-function(m){
c1<-c()
c2<-c()
cs<-c()
for(i in 1:m)
{
c1<-rbind(d1,sample(0:1,size=1)
c2<-rbind(d2,sample(0:1,size=1)
}
cs<-c1+c2
v<-cbind(c1,c2,cs)
v<-as.data.frame(v)
names(v)<-c("coin1","coin2","sum")
return(v)
}

하지만 실패하고 테이블을 만드는 방법을 모르겠습니다.

Dave2e

R은 벡터화 된 언어이므로 많은 경우 루프의 필요성을 피할 수 있습니다. 따라서 m 번 반복하는 대신 0 또는 1에서 m 개의 샘플을 선택하면 성능이 크게 향상됩니다.

또한 루프 내에서 bind 함수를 사용하여 벡터 또는 데이터 프레임에 점진적으로 추가하는 것은 각 함수 호출로 정보의 새 복사본이 생성되기 때문에 R에서 느립니다.

이 유선형 코드를 살펴보십시오.

Sim_Coin<-function(m){
  coin1<-sample(c("head", "tail"), size=m, replace=TRUE)
  coin2<-sample(c("head", "tail"), size=m, replace=TRUE)

  v<-data.frame(coin1, coin2)
  v$sum <- apply(v, 1, function(i){sum(i=="head")})
  return(v)
}

Sim_Coin(3)
  coin1 coin2 sum
1  tail  tail   0
2  head  head   2
3  tail  head   1

귀하의 질문은 2 개가 아닌 4 개의 동전을 뒤집는 것에 대해 이야기 했으므로 다음은 확장 버전입니다.

Sim_Coin2<-function(m){
  n<-4. #number of coins to flip

  #create n vectors m long
  coins<- lapply(1:n, function(i) {
    sample(0:1, size=m, replace=TRUE)
  })
  #make data frame and rename columns
  dfcoin<-as.data.frame(do.call(cbind, coins))
  names(dfcoin)<-paste0("Coin", 1:n)

  #calculate the number of heads by taking the sum of the rows
  dfcoin$sum <- rowSums(dfcoin)
  dfcoin
}

Sim_Coin2(10)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동전 던지기는 더 정확한 50 %를 생성합니다.

분류에서Dev

기능 생성 방법-이미지 발생 행렬?

분류에서Dev

JdbcTemplate 기본 키 자동 생성 방법

분류에서Dev

FormBean에서 속성을 설정하기 전에 예외를 던지거나 ActionError를 설정하는 방법

분류에서Dev

성적 사전 생성 기능

분류에서Dev

지정된 기간 동안 활성 상태였던 AKS에서 포드 수를 가져 오는 방법

분류에서Dev

기능적 스타일에서 특정 길이의 완전하지 않은 순열을 생성하는 방법

분류에서Dev

던전 크롤러가 작동하지 않는 기능

분류에서Dev

C ++ 동전 던지기 비율

분류에서Dev

동적 전체 화면 생성 및 Div 기능 최소화

분류에서Dev

이 동전 던지기 루프를 어떻게 다시 작성합니까?

분류에서Dev

PDF를 생성하는 비동기 비동기 대기 방법

분류에서Dev

R의 data.frame에서 사전 기능을 얻는 방법

분류에서Dev

(장고 / HTML) 즐겨 찾기 기능에 추가 생성 방법

분류에서Dev

전 처리기 매크로를 사용하여 std :: exception을 던지기위한 정보 메시지를 쉽게 구성하는 방법

분류에서Dev

화면 잠금 해제 기능을 만들고 장고 로그인에 성공하면 잠그기 전에 열었던 이전 페이지를 참조하는 방법

분류에서Dev

화면 잠금 해제 기능을 만들고 장고 로그인에 성공하면 잠그기 전에 열었던 이전 페이지를 참조하는 방법

분류에서Dev

동적 생성 기능 <T, TR> C #

분류에서Dev

동전 던지기에서 가장 빈번한 머리 길이를 찾는 방법은 무엇입니까?

분류에서Dev

더 나은 성능을 달성하여 방법을 동기화?

분류에서Dev

생성자 외부에서 읽기 전용 필드를 설정하는 허용 가능한 방법

분류에서Dev

동적 생성 버튼에 Onclick 기능을 부여하는 방법 (버튼 수는 매번 변경됨)

분류에서Dev

Karaf 기능 설명자를 생성하는 방법

분류에서Dev

사용자 지정 자동 완성 기능을 쉽게 만드는 방법

분류에서Dev

다음 기능 문을 수동으로 구성하는 방법

분류에서Dev

Redux Saga : 생성기 던지기 및 중지

분류에서Dev

C 전 처리기 : 동적 #Define 생성

분류에서Dev

Radeon 동적 전원 관리 기능을 활성화하는 방법은 무엇입니까?

분류에서Dev

Radeon 동적 전원 관리 기능을 활성화하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    동전 던지기는 더 정확한 50 %를 생성합니다.

  2. 2

    기능 생성 방법-이미지 발생 행렬?

  3. 3

    JdbcTemplate 기본 키 자동 생성 방법

  4. 4

    FormBean에서 속성을 설정하기 전에 예외를 던지거나 ActionError를 설정하는 방법

  5. 5

    성적 사전 생성 기능

  6. 6

    지정된 기간 동안 활성 상태였던 AKS에서 포드 수를 가져 오는 방법

  7. 7

    기능적 스타일에서 특정 길이의 완전하지 않은 순열을 생성하는 방법

  8. 8

    던전 크롤러가 작동하지 않는 기능

  9. 9

    C ++ 동전 던지기 비율

  10. 10

    동적 전체 화면 생성 및 Div 기능 최소화

  11. 11

    이 동전 던지기 루프를 어떻게 다시 작성합니까?

  12. 12

    PDF를 생성하는 비동기 비동기 대기 방법

  13. 13

    R의 data.frame에서 사전 기능을 얻는 방법

  14. 14

    (장고 / HTML) 즐겨 찾기 기능에 추가 생성 방법

  15. 15

    전 처리기 매크로를 사용하여 std :: exception을 던지기위한 정보 메시지를 쉽게 구성하는 방법

  16. 16

    화면 잠금 해제 기능을 만들고 장고 로그인에 성공하면 잠그기 전에 열었던 이전 페이지를 참조하는 방법

  17. 17

    화면 잠금 해제 기능을 만들고 장고 로그인에 성공하면 잠그기 전에 열었던 이전 페이지를 참조하는 방법

  18. 18

    동적 생성 기능 <T, TR> C #

  19. 19

    동전 던지기에서 가장 빈번한 머리 길이를 찾는 방법은 무엇입니까?

  20. 20

    더 나은 성능을 달성하여 방법을 동기화?

  21. 21

    생성자 외부에서 읽기 전용 필드를 설정하는 허용 가능한 방법

  22. 22

    동적 생성 버튼에 Onclick 기능을 부여하는 방법 (버튼 수는 매번 변경됨)

  23. 23

    Karaf 기능 설명자를 생성하는 방법

  24. 24

    사용자 지정 자동 완성 기능을 쉽게 만드는 방법

  25. 25

    다음 기능 문을 수동으로 구성하는 방법

  26. 26

    Redux Saga : 생성기 던지기 및 중지

  27. 27

    C 전 처리기 : 동적 #Define 생성

  28. 28

    Radeon 동적 전원 관리 기능을 활성화하는 방법은 무엇입니까?

  29. 29

    Radeon 동적 전원 관리 기능을 활성화하는 방법은 무엇입니까?

뜨겁다태그

보관