摸不着头发丝 2019-04-02 22:42 采纳率: 0%
浏览 1218

R语言:评分矩阵转为评分数据集(一共三列:用户、项目、评分)

例如:图片说明
转换为:图片说明
求解决啊,试了一些R里的函数ye'bu'xing

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-08 17:54
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    首先,我们需要将原始数据转换为一个格式化的二维数组。在这个例子中,我们假设每个行代表一个用户ID(uid),每个列代表一个项目的ID(iid)。然后,我们可以使用这些信息来创建一个评分矩阵。

    以下是实现这一目标的代码示例:

    # 加载必要的库
    library(dplyr)
    
    # 原始数据
    data <- read.table(text = "U 
      uid 
      iid 
      196 
      pref 
      2 
      242 
      186 
      3 
      3 
      302 
      22 
      3 
      377 
      166 
      1 
      5 
      346 
      298 
      1 
      6 
      474 
      115 
      265 
      253 
      2 
      8 
      465 
      224 
      5 
      29 
      5 
      122 
      3 
      10 
      387 
      167 
      5 
      11 
      486 
      38 
      12 
      95 
      63 
      5 
      13 
      277 
      160 
      14 
      234 
      50 
      5 
      15 
      246 
      225 
      3 
      16 
      193 
      97 
      194 
      157 
      3 
      18 
      274 
      181 
      1081 
      19 
      278 
      1 
      20 
      603 
      284 
      5 
      304 
      4", header = TRUE, stringsAsFactors = FALSE)
    
    # 将原始数据转换为二维数组
    data_matrix <- as.matrix(data[, c("uid", "iid")])
    
    # 创建评分矩阵
    rating_matrix <- data_matrix %>% 
      group_by(uid) %>%
      summarise(
        ratings = sum(rating),
        count = n(),
        total_rating = sum(rating)
      )
    
    # 输出评分矩阵
    print(rating_matrix)
    

    这段代码首先加载了所需的dplyr库,然后读取了原始数据并将其转换为一个二维数组。接着,它使用group_by()summarise()函数来计算每组用户的平均评分,并添加了额外的统计数据。最后,它输出了这个评分矩阵。

    评论

报告相同问题?

悬赏问题

  • ¥15 Android Navigation: 某XDirections类不能自动生成
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)