수천 개의 행과 세 개의 다른 열이있는 배열이 r 개 있습니다. 배열의 각 행에 대해 첫 번째 열과 세 번째 열을 기준으로 첫 번째 열을 변경하려고합니다. 특히 세 번째 열의 숫자가 첫 번째 열의 숫자보다 큰 경우 1을 반환하고 세 번째 열의 숫자가 첫 번째 열의 숫자보다 작은 경우 숫자가 0 인 경우이를 반환해야합니다. 이 무작위로 선택해야 같은 수는 1다른 열을 사용하여 함수 적용 -
temp[,1]<- sapply(
temp[,1],
function(score){
if(temp[,3]>score){1}
else if(temp[,3]<score){0}else
else if(temp[,3]==score){sample(0:1,1)}})
이 0 내가 지금까지 가지고있는 코드입니다하지만 "온도가 [3]"그것은을 반환 호출 할 때, 나는 생각을 확실히 작동하지 않습니다 세 번째 열의 모든 행 벡터, 난 그저 "점수"와 함께 얻을 행에 해당하는 한 항목을 원한다.
. 왜 두 번째 ifelse가 첫 번째 ifelse의 안에 포함되어 있는지 설명해 주시겠습니까? 왜 rbinom (dim (temp) [1])을합니까? 나는 당신이 가지고있는 각 행마다 난수를 얻는다는 것을 의미한다고 생각합니까? – appleLover
몇 가지 추가 설명과 함께 업데이트되었습니다. – Thomas
아, 알겠습니다. 내가 목록을 통해 반복 하여이 물건을 해결하는 데 사용하는 파이썬에서 왔어. 나는 벡터가 더 잘 작동하는 방식을 좋아합니다. 대답 수락 – appleLover