Tôi có một ma trận với 12 hàng và 77 cột, nhưng chỉ đơn giản là cho phép sử dụng:Cách xác định cột nào không phải là "NA" trên mỗi hàng trong ma trận?
p <- matrix(NA,5,7)
p[1,2]<-0.3
p[1,3]<-0.5
p[2,4]<-0.9
p[2,7]<-0.4
p[4,5]<-0.6
Tôi muốn biết cột không phải là "NA" cho mỗi hàng, vì vậy những gì tôi muốn có được sẽ là một cái gì đó như:
[1] 2,3
[2] 4
[3] 0
[4] 5
[5] 0
nhưng nếu tôi làm > which(p[]!="NA")
tôi nhận được [1] 6 11 17 24 32
tôi đã cố gắng sử dụng một vòng lặp:
aux <- matrix(NA,5,7)
for(i in 1:5) {
aux[i,]<-which(p[i,]!="NA")
}
nhưng tôi chỉ gặp lỗi: number of items to replace is not a multiple of replacement length
Có cách nào để thực hiện việc này không? Cảm ơn trước
Và cuối cùng kiểm tra có thể được thêm chiều dài()> 0 để trả về 0 thay vì số nguyên (0). – joran
Sản lượng thu gọn, thu gọn sẽ tạo ra các phần tử ký tự rỗng, '" "', chứ không phải là số nguyên (0). –