2015-01-30 5 views
1

성별, 연도 (신입생, 소포모어, 주니어, 시니어), 나이 및 GPA의 네 가지 변수를 사용하여 "students"라는 데이터 프레임을 만들려고합니다. 이 개념은 네 가지 수준의 측정을 나타내는 데이터 프레임 (명목, 서수, 간격 및 비율)을 갖는 것입니다.데이터 프레임 열 값을 확률 적으로 할당

ID Gender Year  Age GPA 
1  Male  Sophomore 0  3.9 
2  Male  Junior  0  3.3 
3  Female Junior  0  3.6 
4  Male  Freshman 0  3.1 
5  Female Senior  0  2.9 

나는 나이에 문제가있어이 시점에서

그것은 다음과 같이 보입니다. 확률에 따라 Age를 부여하고 싶습니다.

Age Probability 
14  .47 
15  .48 
16  .05 

내가 그 다음과 같이 설정 할 수있는 기능을 가지고 : 학생이 신입생 인 경우 예를 들어, 내가 나이가 다음 줄과 같이 함께 할당하고 싶습니다

1: Age <- function(df) { 
2: for (i in 1:nrow(df) { 
3:  if (df[i, 2] == "Freshman") { 
4:  df[i, 3] = 15 
5:   } else if { 
6:   continue through the years 
7:  } 
8: } 
9: } 

제 생각에는 4 호선에서 과제의 오른쪽을 나이를 확률 적으로 할당 할 것으로 변경하고 싶습니다. 그게 내가 어떻게해야하는지 알 수 없기 때문이야.

관련 노트에 내가 생각하는 것보다 더 나은 방법이 있다면, 그 사실을 알고 감사하게 여길 것입니다.

마지막으로, 나는 인터넷을 크게 봤다. Reddit and Talk Stats의 R 포럼에 질문을했고이 사이트의 R 태그를 검색했다. 나는 이런 식으로 뭔가를하고 싶다는 사람이 처음이라고 믿을 수 없다. 그래서 나에게 질문을 잘못 말하고있는 것 같다. 그렇다면 거기에 대한 안내도 받으실 것입니다. 이 같은

답변

3

사용 sample 기능 :

sample(14:16, size=1,prob=c(0.47, 0.48, 0.05)) 
## [1] 14 
sample(14:16, size=10,rep=TRUE,prob=c(0.47, 0.48, 0.05)) 
## [1] 14 14 15 14 15 16 15 15 15 15