두 개의 벡터가 있습니다.
v <- (TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
named.v <- (TRUE = "#FF0000FF", FALSE="#00FF00FF", NA="0000FFFF")
V의 값과 관련된 색상을 얻으려고합니다.
나는 이것을 시도했다
named.v[v]
하지만이 모든 것은 반환입니다.
TRUE FALSE <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
"#FF0000FF" "#00FF00FF" "#0000FFFF" NA NA NA NA NA NA NA
나는 정말 갇혀서 알아낼 수 없습니다. 도와 주셔서 감사합니다!
논리 대신 문자 집합과 일치해야합니다. 여기에서 names
'named.v'는 character
클래스입니다 (생성 된 예제에는 불일치가 있지만 일반적으로 그렇습니다 )
named.v[as.character(v)]
# TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#"#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF" "#FF0000FF"
이제 OP의 코드에서 문제를 살펴 보겠습니다. 'v'는 logical
해당 값을 선택해야 함을 의미하는 TRUE이지만, 'named.v'는 길이가 3이고 논리 벡터는 길이가 10이므로 처음 3 이후 'named.v'에서 선택하면 아무것도 남지 않았으므로 누락되어 NA
누락 된 값을 나타냅니다.
v <- c(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
named.v <- c(`TRUE` = "#FF0000FF", `FALSE`="#00FF00FF", `NA`="0000FFFF")
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다