对R来说相当新.我想要做的是将矩阵中的所有数字都说成5,低于5.例如,如果矩阵是这样的:
1 3 2 5 7
3 8 3 6 2
Run Code Online (Sandbox Code Playgroud)
我想进入:
1 3 2 5 5
3 5 3 5 2
Run Code Online (Sandbox Code Playgroud)
我觉得必须有一种更有效的方法,而不是每次都用手做.任何帮助,将不胜感激.
是的,你可以做到
mat[mat > 5] <- 5
# V1 V2 V3 V4 V5
#[1,] 1 3 2 5 5
#[2,] 3 5 3 5 2
Run Code Online (Sandbox Code Playgroud)
@Gregor拥有最聪明的解决方案,但只是为了给你更多选择,你可以做到
ifelse(mat > 5, 5, mat)
Run Code Online (Sandbox Code Playgroud)
或者@Sotos提到
replace(mat, mat > 5, 5)
Run Code Online (Sandbox Code Playgroud)