2017-03-26 5 views
-1

안녕하세요 등급 목록의 평균 평점을 찾으려고합니다.기호/스칼라를 해결할 수 없습니다

val normalizedRatings = user_ratings.groupBy(a=>a._1).map{r=> (r._1,r._2.toList.map(x=>x._2))} 

내 normalizedRatings의 모양은 다음과 같습니다. 나는이 프로그램을 실행하려고하면

은 (zZRze7w4iWJrj5XR_MVg0w, 목록 (2.0, 4.0, 5.0)) ...

, '/'기호 오류가 발생합니다.

val userAvgRating = normalizedRatings.map(x=>(x._1.toInt, x._2.sum/x._2.length)) 

은 내가 이해할 수있을 것이다

Error:(26, 68) could not find implicit value for parameter num: Numeric[String] 
    val userAvgRating = normalizedRatings.map(x=>(x._1.toInt, x._2.sum.toFloat/x._2.length)) 

모든 지침과 유사한 오류가 발생했습니다

val userAvgRating = normalizedRatings.map(x=>(x._1.toInt, x._2.sum.toFloat/x._2.length)) 

toFloat를 사용했습니다.

+0

이 같은'normalizedRatings' – jwvh

+0

튜플의 유형 서명 무엇인가..? (zZRze7w4iWJrj5XR_MVg0w, 목록 (2.0, 4.0, 5.0)) ... 기본적으로 문자열 인 ID와 등급 목록 – codingyo

+0

정확한 서명을 적어주세요. 단어 설명이 많은 도움이되지는 않습니다. – jwvh

답변

1

normalizedRatings의 유형입니다 ((String, List[Double])의 일부 Iterable 또는 IndexedSeq 수집 것 같아 정확히 나에게 명확하지 않다. 당신은 시도 할 수 있습니다 ...

val usrAvgRating = normalizedRatings map { case (id, ratings) => (id, ratings.sum/ratings.length) } 

... 당신이 정확한을 제공 할 수 있는지 더 도움이 될 것입니다 경우 서명을 입력 당신은 아마 오류의 원인 일부 지점에서 StringtoInt를 호출합니다