r - R:通过索引删除数据框中的行
问题描述
我刚开始学习 R,我真的需要一些帮助来清理我的数据。我花了最后 2 天试图找到解决方案,但似乎没有任何效果。
我有一个名为d.new
. 以下是相关行的示例:
d.new <- cbind(c("abc","abc","abc","def","def","def"),c("yes",NA,NA,"no",NA,NA))
colnames(d.new) <- c("observation", "vis")
我提取了vis == "yes"
这样的代码:
idx_vis <- c(select(filter(d.new, vis == "yes"), c(observation)))
输出如下所示:
$observation
[1] "abc"
现在我想找到所有行,其中我的“观察”列的内容是我的向量中的代码之一(假设它不仅仅是abc
几百个代码)并删除它们,但实际上没有对所有内容进行硬编码. 我也想将该脚本用于具有不同代码的其他数据集。
所以我想要的输出将是一个不包含带有某些代码的行的数据框。
我的尝试是编写一个循环,在其中遍历所有行并找到并删除那些行,在其中我找到了来自idx_vis
. 我是这样开始的(但我什至不确定这是否有意义,我以前从未写过循环):
for(i in 1:length(d.new$observation)){
i2 <- c([i]:length(idx_vis))
idx_dump <- as.character(which(d.new$observation == "idx_vis[i2]"))
# then delete the rows from idx_dump from d.new?
}
如果有人能给我一个提示,那就太好了!提前致谢!
梅尔
解决方案
试试这个:d.new[d.new$vis == "yes", ]
根据“vis”列中的值选择行。
推荐阅读
- c++ - 为什么 32 位和 64 位系统上的“对齐”相同?
- angularjs - Ionic v1 项目中的 Lottie 动画
- php - PHP:将 MySQL 数据库表复制到带有附加列的新数据库表中
- regex - 如何使用流将 known_hosts 行分成四个部分
- javascript - 如何在我的脚本中修复“错误:数字最多只能安全存储 53 位”?
- python - Python Matplotlib 条形图以交互方式更新颜色
- php - php函数如何在输出中将整数转换为varchar
- windows - WM_DPICHANGED 建议大小未缩放
- excel - 每次创建新的数据透视表并保存文件时,Excel 工作簿的文件大小都会增加
- rest - BadRequest vs NotFound 当资源是工作表但未找到所需用户时