如何使用R中的向量按列过滤数据帧?

如何使用R中的向量按列过滤数据帧?,r,dataframe,R,Dataframe,我有一个数据帧(n*m)。我为每列计算一个截止点,因此我得到一个向量(1*m),其中包含每列的截止点。所以我的问题是,如何使用每列的截止值按列过滤这个数据帧?例如,我想将低于截止值的值替换为NA。这是我的原始代码,不正确。欢迎提出任何建议。谢谢:) x我们可以将x的每一列与x\u low\u outlier中的每一个值进行比较,并将x\u low\u outlier以下的值替换为NA 这里有两种方法 你可以双重转置 x[t(t(x) < x_low_outlier)] <- NA

我有一个数据帧(n*m)。我为每列计算一个截止点,因此我得到一个向量(1*m),其中包含每列的截止点。所以我的问题是,如何使用每列的截止值按列过滤这个数据帧?例如,我想将低于截止值的值替换为NA。这是我的原始代码,不正确。欢迎提出任何建议。谢谢:)


x我们可以将
x
的每一列与
x\u low\u outlier
中的每一个值进行比较,并将
x\u low\u outlier
以下的值替换为
NA

这里有两种方法

你可以双重转置

x[t(t(x) < x_low_outlier)] <- NA

我倾向于使用
sapply
lapply
处理帧,主要是因为它不将数据转换为矩阵(在不需要时)

set.seed(42)

x Hi@RonakShah这是我的例子:xIn在这个例子中,预期的输出是将每列中低于x_low_离群值的值替换为NA。@RonakShah您能帮我吗?非常感谢。非常感谢你!还有一个问题:你为什么要把x变换两次?当你做
x谢谢你的时候,“x[t(t(x)x[t(t(x)
x[x
的输出。你有相同的号码吗?是的Ronak。我查了一下,得到了同样的号码。期待您的回复。
x[t(t(x) < x_low_outlier)] <- NA
x[sweep(x, 2, x_low_outlier, `<`)] <- NA