R如何通过选择一个固定的向量分量值来生成一个向量并修剪另一个向量

R如何通过选择一个固定的向量分量值来生成一个向量并修剪另一个向量,r,vector,trim,R,Vector,Trim,这是一个基本问题;我为此道歉。 让x2然后写入2 结果应该是这样的 z <- c(1,2,2,2,2) 但是我找不到一个好的方法来实现它以达到结果。 我感谢大家的支持 编辑。如果不考虑向量x我有一个矩阵M,列x和y,我想对列x应用上述修剪,保持y不变,我该如何继续 例如: y <- x y[x>2] <- 2 1 2 2 2 2 例如: y <- x y[x>2] <- 2 1 2 2 2 2 您可以使用pmin: pmin(x, 2) # [1]

这是一个基本问题;我为此道歉。 让
x2
然后写入
2

结果应该是这样的

z <- c(1,2,2,2,2)
但是我找不到一个好的方法来实现它以达到结果。 我感谢大家的支持

编辑。如果不考虑向量
x
我有一个矩阵
M
,列
x
y
,我想对列
x
应用上述修剪,保持
y
不变,我该如何继续

例如:

y <- x
y[x>2] <- 2
1 2 2 2 2
例如:

y <- x
y[x>2] <- 2
1 2 2 2 2

您可以使用
pmin

pmin(x, 2)
# [1] 1 2 2 2 2

您可以使用
pmin

pmin(x, 2)
# [1] 1 2 2 2 2

非常感谢,它很有效。我很感兴趣('因为我不擅长)需要将
y
作为
x
引入,然后再次使用
x
。@agstudy,我考虑的情况是,要替换的值不是2(例如:3,将导致
(1,2,3,3)
)。但我认为你的解决方案是专门针对这一点的。因此删除了注释。@agstudy如果我没有考虑向量
x
,而是有一个矩阵
M
,列
x
y
,并且我想对列
x
应用上述修剪,保持
y
不变,我应该如何继续
M[M$x>2,]@Avitus,你应该做
M[,1][M[,1]>2]@Arun谢谢!请随意将您的评论移动到回答中。非常感谢,它很有效。我很感兴趣('因为我不擅长)需要将
y
作为
x
引入,然后再次使用
x
。@agstudy,我考虑的情况是,要替换的值不是2(例如:3,将导致
(1,2,3,3)
)。但我认为你的解决方案是专门针对这一点的。因此删除了注释。@agstudy如果我没有考虑向量
x
,而是有一个矩阵
M
,列
x
y
,并且我想对列
x
应用上述修剪,保持
y
不变,我应该如何继续
M[M$x>2,]@Avitus,你应该做
M[,1][M[,1]>2]@Arun谢谢!请随意将您的评论转移到答案中
pmin(x, 2)
# [1] 1 2 2 2 2