首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据框中提取数据并删除提取的数据

从数据框中提取数据并删除提取的数据
EN

Stack Overflow用户
提问于 2021-05-18 18:31:36
回答 3查看 29关注 0票数 1

我有一个名为df的三个变量的数据框架。我想要的是在"df1“子集df中,这样提取的数据就不再存在于df中。它可以通过“子集”来完成,但提取的数据仍将存在于df中。任何帮助都将不胜感激。

代码语言:javascript
复制
df<- 

    gender  age     pro
  
       1    22   0.0301  
       2    11   0.0934  
       1    44   0.108   
       2    56   0.0894  
       1    70   0.0444  
       2    33   0.00945 
       1    23   0.00226 
       2    32   0.0258  
       1    12   0.0701  
       2     1   0.0827  
       1    17   0.0657  
       1     9   0.0324  
       2    44   0.00755 
       1    49   0.000456
       2    39   0.0255  
       1    18   0.0828  
       2    31   0.0931  
       1     8 0.0717
 
df1<- subset(df, age > 14 & age< 50 & gender==2)
EN

回答 3

Stack Overflow用户

发布于 2021-05-18 18:33:37

您可以使用dplyr::anti_join从原始数据中删除提取的数据。

代码语言:javascript
复制
df1<- subset(df90, age > 14 & age< 50 & gender==2)
df90 <- dplyr::anti_join(df90, df1)
票数 1
EN

Stack Overflow用户

发布于 2021-05-18 19:02:35

我们可以使用base R:

代码语言:javascript
复制
df1 <- subset(df, !(age > 14 & age < 50 & gender==2))

输出:

代码语言:javascript
复制
   gender   age      pro
    <dbl> <dbl>    <dbl>
 1      1    22 0.0301  
 2      2    11 0.0934  
 3      1    44 0.108   
 4      2    56 0.0894  
 5      1    70 0.0444  
 6      1    23 0.00226 
 7      1    12 0.0701  
 8      2     1 0.0827  
 9      1    17 0.0657  
10      1     9 0.0324  
11      1    49 0.000456
12      1    18 0.0828  
13      1     8 0.0717  
票数 0
EN

Stack Overflow用户

发布于 2021-05-19 03:50:09

使用dplyr

代码语言:javascript
复制
library(dplyr)
filter(df, !(age > 14 & age < 50 & gender==2))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67584489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档