2017-02-16 11 views
1
로그인 (list.i)는

최근이 오류를 수신 :오류 R의 정신 패키지에서 scoreItems 기능을 실행할 때 scoreItems

Error in keys[abs(list.i), i] <- sign(list.i) : 
    number of items to replace is not a multiple of replacement length 

나는 오류를 얻을하는 데 사용되는 경우 코드를 실행할 때 나는 오류가 발생했다

mykey <- data.frame(scale1 = c(0,1,1), scale2 = c(1,1,0)) 
mydata <- data.frame(item1 = c(1,1,2,3,5), item2 = c(5,5,5,4,3), 
    item3 = 1:5) 
test <- scoreItems(mykey, mydata) # throws error 

: 이것은 내 재현 예입니다. 나는 1.6.12 버전의 패키지로 업그레이드했다.

어떤 오류가 발생합니까?

답변

1

버전 1.6.12와 다른 버전에서는 목록을 사용하여 점수 키를보다 유연하게 지정할 수있는 기능이 심중 패키지에 추가 된 것 같습니다. 그러나 키가 목록인지 여부를 확인하는 코드는 data.frame을 목록으로 해석합니다. 다음 줄은 소스 코드에서 볼 수있다 : 그것은 부적절에만 표준 목록을위한 것입니다 make.keys()에 data.frames를 전달

if(is.list(keys)) keys <- make.keys(items,keys) #added 9/9/16 

따라서.

나는 버그를보고 했으므로 앞으로 수정 될 것으로 기대된다.

한편, 간단한 수정은 점수 키가 data.frame이 아닌 매트릭스라는 것을 확인하는 것입니다 (키가 p 행렬에 의해 k라고 가정하면 k는 점수를 매기는 변수의 수이고 p 생성되는 파생 변수의 수).

예를 들면,

test <- scoreItems(as.matrix(mykey), mydata)