首页 > 解决方案 > 在数据帧上执行 expand.grid() 时出错

问题描述

我正在预演expand.grid()subdb如何解决这个问题?

full <- with(subdb, expand.grid(sort(unique(UserId), sort(unique(ProductId))))

eval(substitute(expr), data, enclos = parent.frame()) 中的错误:“character”类型的“envir”参数无效

为什么我收到此错误?

subdb是一个包含“UserId”、“ProductId”和“Score”的数据框。

标签: rdataframecharacter

解决方案


你在第一次调用时错过了一个括号,即它不sort()应该。sort(unique(UserId))sort(unique(UserId)

例如,以下对我有用:

subdb <- data.frame("UserId" = sample(1:10, 200, replace = TRUE),
                    "ProductId" = sample(LETTERS[1:8], 200, replace = TRUE))

full <- with(subdb, expand.grid(sort(unique(UserId)), 
                                sort(unique(ProductId))))

full

推荐阅读