recommenderlab, Error in asMethod(object) : invalid class 'NA' to dup_mMatrix_as_geMatrix

前端 未结 1 1790
情歌与酒
情歌与酒 2021-01-12 22:06

I am trying to change matrix into a structure that I can use in functions of the recommenderlab package.

datafile1 <- as(datafile1,\"matrix\")
datafile1
          


        
1条回答
  •  鱼传尺愫
    2021-01-12 22:46

    The problem is that the RealRatingMatrix class extends Matrix, and Matrix has not implemented matrices with characters in them. Convert your matrix to a numeric first, then convert.

    # Recreate data
    datafile1<-read.table(textConnection('
    name1 name2 rating1 rating2 rating3 rating4 rating5 rating6
    "1"   "a"   "0"     "0"     "1"     "0"     "0"     "0"    
    "2"   "d"   "0"     "0"     "1"     "0"     "0"     "0"    
    "3"   "x"   "1"     "0"     "1"     "0"     "0"     "0"    
    "4"   "b"   "0"     "1"     "1"     "0"     "0"     "0"  
    '),header=TRUE)
    datafile1<-as.matrix(datafile1)
    
    # Convert to numeric (by arbitrarily map the characters to numbers.)
    datafile1<-sapply(data.frame(datafile1),as.numeric)
    
    # Create real rating matrix
    as(datafile1, "realRatingMatrix")
    # 4 x 8 rating matrix of class ‘realRatingMatrix’ with 32 ratings.
    

    0 讨论(0)
提交回复
热议问题