簡體   English   中英

在矩陣中將NA的矩陣轉換為0並將連續變量轉換為1

[英]converting a matrix of NAs to 0s and continous variables to 1s in a matrix

我有一個矩陣,其中填充了NA和連續值。 我需要將NA轉換為0,並將連續值轉換為1。 我如何在R中做到這一點?

假設m如結尾處的注釋所示:

1 - is.na(m)
##      [,1] [,2]
## [1,]    0    1
## [2,]    1    0

注意

m <- matrix(c(NA, 2, 3, NA), 2)
m
##      [,1] [,2]
## [1,]   NA    3
## [2,]    2   NA

使用ifelse函數:

your_matrix <- matrix(c(NA,NA,NA,3.5,2.5,5.0), nrow=2)
your_matrix <- ifelse(is.na(your_matrix), 0, 1)

如果向量中有一些值(d),矩陣(m),則可以用兩行代碼將數值轉換為1,將NA值轉換為0。

d <- c(NA, NA, 2, 5, NA, 6, NA, 1,  6)
m <- matrix(data = d, nrow = 3, ncol = 3 )


m[is.na(d)] <- 0
m[d > 0 ] <- 1
m


#A matrix:
3 × 3 of 
type dbl
0 1 0
0 0 1
1 1 1

暫無
暫無

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

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