如何根据特定条件删除列?

时间:2015-12-09 22:34:53

标签: r data.table

我想根据特定条件删除列。

continue

在这种情况下,我想要删除全部为angular.module('app').controller("MainController", function($http, $scope ){ var vm = this; vm.title = 'title'; vm.input = ''; $scope.submit = function (input, $scope, $http) { $http.get("insert-url-here") .success(console.log(input)); } } 的列。输出应该是

library(data.table)
dt <- data.table(1:4, rep(TRUE, 4), c(TRUE, FALSE, TRUE, TRUE))

2 个答案:

答案 0 :(得分:3)

Filter()是一个有用的函数,用于根据特定函数的计算结果为TRUE来选择数据框的列。在你的情况下:

Filter(function(x) !all(x == TRUE), dt)

   V1    V3
1:  1  TRUE
2:  2 FALSE
3:  3  TRUE
4:  4  TRUE

答案 1 :(得分:2)

您可以使用子集

将其排除在选择之外
dt[,!sapply(dt, function(x) all(x==TRUE)), with=FALSE]

此处sapply(dt, function(x) all(x==TRUE))部分查找所有值均为TRUE的列。然后我们否定它并使用with=FALSE(因为这是一个data.table而不是data.frame)