[英]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.