아래에는 두 개의 데이터 프레임을 병합하고 값 3과 -1을 할당하는 코드가 있습니다.
candidate_score<-merge(check7,anskey,by='Question.ID')
candidate_score$correct <- candidate_score$Selected.Option.ID == candidate_score$Correct.Option.ID
candidate_score$score <-
ifelse(candidate_score$correct== TRUE, 3,
ifelse(candidate_score$correct== FALSE, -1, ifelse(candidate_score$Correct.Option.ID == Full Marks ,3,NA)))
학생 데이터를 가지고 있는데, candidate_score$score
데이터 프레임 에 따라 마크 3, -1을 할당 할 때 아래에 표시된 마크 3이 correct.option.id
내 candidate_score$score
코드 에 따라 열의 전체 마크에 할당되지 않습니다. 원하는 결과를 얻으려면 어떻게해야합니까?
또한 correct.option.id에 Full Marks가있는 곳에 3 개의 마크를 할당하고 싶습니다.
두 번째 ifelse
에는 4 개의 인수가 있습니다. 해당 조건의 결과가 -1인지 NA인지 결정해야합니다. 제시된 자료에서 의도를 판단 할 방법이 없습니다. 샘플 데이터 프레임 또는 벡터 및 설명이 가장 좋습니다.
쉼표 뒤에 공백을 삽입하고 할당 연산자도 공백으로 묶으면 오류를 찾기가 더 쉽습니다. 좀 더 구조화 된 방식으로 코드를 편집하려고했습니다.
설명 요청에 응답하는 중 ... 이것은 두 번째 ifelse
호출입니다.
ifelse(candidate_score$correct== FALSE, # arg 1 (the condition)
-1 , # arg 2 (the consequent)
NA, # arg 3 (should be the alternative)
# and the following fourth argument causes an error.
ifelse(candidate_score$Correct.Option.ID == Full Marks ,3,NA))
어떤 논리 테스트가 적용 될지 아직 완전히 명확하지 않지만 아마도 이것을 원할 것입니다.
candidate_score$score <-
ifelse(candidate_score$correct== TRUE | candidate_score$Correct.Option.ID == 'Full Marks',
3,
ifelse( candidate_score$correct== FALSE, -1,,NA))
또한 것을 깨닫게해야 ==TRUE
하기 때문에 부품이 필요하지 않은 경우 TRUE
와 같은 값을 가지고 TRUE==TRUE
, 그리고 FALSE가 같은 값을 가지고 FALSE==TRUE
,
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다