r - 如果任何列包含-1,则排除
问题描述
如果我的数据集中大约 80 列中的任何一列的值为 -1,我必须排除数据。总列数为 100,其他 20 列允许有 -1 值。我知道这可以通过使用子集来完成,例如:
keep_data <- subset(foo, Var1 != -1 | Var2 != -1 | Var3 != -1 ....... upto Var80)
这可以通过我不需要传递子集中的所有 80 个变量的任何其他方式来完成,而是可以传递一个列表或其他一些方法吗?
解决方案
如果需要,您可以定义cols
为字符向量而不是数字
cols <- 2:4 #Columns which we'll check for -1
# Remove rows for which any of cols (defined above) are -1
subset(df, !rowSums(df[cols] == -1))
#You can also use brackets instead of subset
df[!rowSums(df[cols] == -1),]
推荐阅读
- flutter - 如何在 Flutter 中设置 Row() 的背景颜色?
- python - 删除以子字符串开头的字符串
- flutter - Flutter如何创建一个zip文件
- javascript - 强制使用 JavaScript 远程加载 Instagram 个人资料页面的源代码
- excel - 如果在同一 WS 中满足条件,则剪切并插入行
- python - 使用 pandas 通过比较一个键(“id”)来组合 csv
- python - 测试时的 Lambda 语法问题
- python - 打印时不会出现日文字符
- haskell - 在haskell中迭代列表并返回条件为真的元素的最正确方法
- .htaccess - Codeigniter 项目 - 尝试使用 XAMPP 查看索引页面(应用程序中的主页)