색인을 생성 할 수있는 행렬은 rownames
일 수도 있고 아닐 수도 있습니다. %in%
연산자를 사용하여 색인을 생성 할 수 있습니다. 목표 NOT-과 동시에 rownames-실종 완전히 가능성을 동시에
if(sum(rowNameToFind %in% rownames(mat))) { TRUE }else{ FALSE }
이 거래 :처럼 보이는 코드를보고 매우 일반적입니다
#Sample matrix
mat <- matrix(rnorm(100), ncol = 10)
#Find the row 'b'
rowNameToFind <- "b"
if (is.null(rownames(mat))) {
print("no rownames to index!")
} else if (rowNameToFind %in% rownames(mat)) {
print("hurrary")
} else {
print("boo")
}
#Returns
[1] "no rownames to index!"
#Define the rownames
rownames(mat) <- letters[1:10]
if (is.null(rownames(mat))) {
print("no rownames to index!")
} else if (rowNameToFind %in% rownames(mat)) {
print("hurrary")
} else {
print("boo")
}
#Returns
[1] "hurrary"
나는 실수했다고 생각합니다. 'rowNameToFind'의 길이가'mat'에 설정된 행의 이름과 관계없이'TRUE'로 평가됩니다. 내가 놓친 게 있니? –
나는 당신의 주장을 납득시킨다. sum()을 사용하는 것은 어떻습니까? –
예, sum()을 사용하면 매우 잘 작동합니다. –