首页 文章

提取重复数据帧子集的唯一值

提问于
浏览
-1

我有一个相当大的数据集(c . 5000万行乘6列),2列有重复值,其中1列是另一列的子集 .

对于Instance,请按如下方式获取数据帧:enter image description here

我想获得如下数据帧:

enter image description here

我在上面的例子中使用了以下代码:

disp < - unique(mtcars $ disp)cyl < - unique(mtcars $ cyl)

new_data < - data.frame(1:length(disp),1:length(disp))new_data $ disp < - disp

for(i in 1:length(disp)){

new_data $ cyl [i] < - mtcars $ cyl [grep(disp [i],mtcars $ disp)]}

但是当我试图在一个大型数据集中复制它时,这是行不通的(RAM是一个可能的问题,因为我的机器不是最强大的) .

我的问题是,是否有更好的方法对大型数据集进行同样的练习?

1 回答

  • 0

    对我来说,看起来你想要所有独特的disp和cyl组合 . 为此,我推荐的是:

    DF:

    car       cyl        disp
    Ford      32          322  
    Ford      32          322
    Mazda     12          212
    
    • 代码:
    library(dplyr)
    output <- df %>% group_by(cyl,disp) %>% 
    summarise(car_name = paste(car, collapse = ","))
    

    输出:

    cyl     disp      car
    32      322       Ford,Ford
    12      212       Mazda
    

相关问题