簡體   English   中英

在R中:如何將符合特定條件的值設置為特定值

[英]In R: How do I set values that meet a certain criteria to a certain value

假設我在R中具有以下矩陣-優雅地,如何將所有小於0的值設置為零(例如)

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]    0    1    3    5    9   11   15   17   21    27
 [2,]   -1    0    2    4    8   10   14   16   20    26
 [3,]   -3   -2    0    2    6    8   12   14   18    24
 [4,]   -5   -4   -2    0    4    6   10   12   16    22
 [5,]   -9   -8   -6   -4    0    2    6    8   12    18
 [6,]  -11  -10   -8   -6   -2    0    4    6   10    16
 [7,]  -15  -14  -12  -10   -6   -4    0    2    6    12
 [8,]  -17  -16  -14  -12   -8   -6   -2    0    4    10
 [9,]  -21  -20  -18  -16  -12  -10   -6   -4    0     6
[10,]  -27  -26  -24  -22  -18  -16  -12  -10   -6     0

嘗試之一

m1[m1<0] <- 0

要么

m1 <- (m1 >=0)*m1

ifelse()方法

# some data
m <- matrix((1:10)-5, ncol=5)

##      [,1] [,2] [,3] [,4] [,5]
## [1,]   -4   -2    0    2    4
## [2,]   -3   -1    1    3    5

# setting values below zero to zero
ifelse(m < 0, 0, m )

##      [,1] [,2] [,3] [,4] [,5]
## [1,]    0    0    0    2    4
## [2,]    0    0    1    3    5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM