删除除相关数据外的所有内容

Posted

技术标签:

【中文标题】删除除相关数据外的所有内容【英文标题】:Deleting everything but relevant Data 【发布时间】:2022-01-13 18:19:12 【问题描述】:

我使用代码:

student_data1 %

头()

使用 gvkey 6310 删除公司,但它正在删除其他所有内容并保留 6310。

我需要如何更改代码,如果我想删除 6310 和 9555,代码会是什么样子?

提前感谢您! :)

【问题讨论】:

【参考方案1】:

当我们有可以查看的数据以确定发生了什么时,它总是很有帮助的。将来,您可以使用dput(head(student_data1, 10)) 之类的方式共享您的一些数据,然后将其输出复制并粘贴到您的问题中。我们将生成一些数据来展示这里的示例。

student_data1 <-
  data.frame(
    gvkey = rep(c(6310 , 9555, 2222, 11, 2), each = 10),
    Var1 = rnorm(50)
  )

head(student_data1, 5)
#>   gvkey         Var1
#> 1  6310  0.065167828
#> 2  6310  0.334672998
#> 3  6310 -0.459434631
#> 4  6310 -0.002706843
#> 5  6310  0.596642565

nrow(student_data1)
#> [1] 50

从您发布的代码看来,它应该满足您的需求,只需使用您使用的语法删除 gvkey 6310,尽管通常我们会使用 != 而不是 !(==)。我唯一能推测的可能是您在实际脚本中错过了!

df <- student_data1[!(student_data1$gvkey == 6310) , ]

head(df, 5)
#>    gvkey       Var1
#> 11  9555 -0.1338284
#> 12  9555 -3.4963800
#> 13  9555  0.7090384
#> 14  9555 -0.5466933
#> 15  9555 -1.5392845

nrow(df)
#> [1] 40

要删除多个值,通常最简单的方法是使用 %in% 运算符。

df <- student_data1[!student_data1$gvkey %in% c(6310, 9555) , ]

head(df, 5)
#>    gvkey       Var1
#> 21  2222  2.9606101
#> 22  2222  0.7001521
#> 23  2222  0.1065952
#> 24  2222  0.7103071
#> 25  2222 -0.3279968

nrow(df)
#> [1] 30

由reprex package (v2.0.1) 于 2021-12-08 创建

【讨论】:

我的天啊!!太感谢了!你无法想象这对我来说有多重要 :) 祝你有美好的一天! :) 很高兴它为您工作,祝您有美好的一天

以上是关于删除除相关数据外的所有内容的主要内容,如果未能解决你的问题,请参考以下文章

[SQL]导出Oracle所有表结构,除数据外的所有内容

替换除正数/负数外的所有内容

正则表达式:匹配文本段落中除特定短语外的所有内容

Windeployqt 部署除 exe 文件外的所有内容

sh Git添加除常见配置文件外的所有内容

WEB API 2,Selfhost,除“localhost”外的所有内容都拒绝访问