删除除相关数据外的所有内容
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 创建
【讨论】:
我的天啊!!太感谢了!你无法想象这对我来说有多重要 :) 祝你有美好的一天! :) 很高兴它为您工作,祝您有美好的一天以上是关于删除除相关数据外的所有内容的主要内容,如果未能解决你的问题,请参考以下文章