r - 如何根据 R 中一个变量的值删除一些观察结果?
问题描述
当我有三个变量时,我有一个数据集,这些变量可以采用以下值-2, -1, 0, 1, 2, 3, 4, 5
出于某种原因,我只想在观察值等于时使用这些变量1, 2, 3, 4 or 5
。var1/var2/var3=-2, -1 or 0
换句话说,当我知道在 Stata 中这是使用命令DROP
( drop if var1 == 0 / drop if var1<0...
)时,我想放弃观察。R中有类似的等价物吗?谢谢
解决方案
如果你的 data.frame 是df
,一种方法是这样的......
df <- data.frame( #an example
var1 = c(1, 2, 3),
var2 = c(-1, 3, 4),
var3 = c(2, 3, -2)
)
df
var1 var2 var3
1 1 -1 2
2 2 3 3
3 3 4 -2
df[apply(df, 1, function(x)
! any(x %in% c(0, -1, -2))), ]
var1 var2 var3
2 2 3 3
该apply
函数沿 的行向下运行,df
并且TRUE
针对 set 中没有 ( !
)any
值的行c(0, -1, -2)
。然后使用该逻辑向量对 的行进行子集化df
。
推荐阅读
- python - 与 groupby 和 mean 结合使用时,Fillna 不起作用
- dart - Flutter CustomScrollView 和 Scoped 模型问题
- jpa - 将 EJB 2 CMP 实体 bean 迁移到 EJB 3 JPA 实体时如何处理 FinderException?
- java - 如何在文件中搜索字符串,然后在另一个文件中搜索该字符串
- amazon-dynamodb - Spring Aws Kinesis Binder ProvisionedThroughputExceededException,同时在批处理模式下消费消息
- r - 在 R 中运行 glmer() 模型时,length() 出现意外错误
- c# - 在内存中使用 EntityFrameWorkCore 和 SqlLite 我得到“没有这样的表:ControlGroup”错误
- javascript - 这里 Map Javascript API 轮流导航
- macos - 导出到 CSV 挂起 pgadmin4
- javascript - Angular 7 错误通知不显示