我有 named numeric vector vec
,然后它按升序排序并保存在对象 vec_sort
中,如下所示 .
vec <- c(1,1,1,2,3,1,5)
names(vec) <- letters[1:7]
vec
# a b c d e f g
# 1 1 1 2 3 1 5
str(vec)
# Named num [1:7] 1 1 1 2 3 1 5
# - attr(*, "names")= chr [1:7] "a" "b" "c" "d" ...
按升序排序(命名数字向量)
vec_sort <- sort(vec)
vec_sort
# a b c f d e g
# 1 1 1 1 2 3 5
str(vec_sort)
# Named num [1:7] 1 1 1 1 2 3 5
# - attr(*, "names")= chr [1:7] "a" "b" "c" "f" ...
OUTPUT REQUIRED
A Named Logical Vector 其中在升序数字向量的前3个元素中为 TRUE
,其余为 FALSE
. 即使第4个元素与前3个元素相同 . 即最低值 . 使用关系运算符或通过分配它可能是 .
vec_sort
# a b c f d e g
# 1 1 1 1 2 3 5
TO
vec_sort
# a b c f d e g
# TRUE TRUE TRUE FALSE FALSE FALSE FALSE
Codes Attempted
1st
vec_sort[1:3] <- TRUE
vec_sort[4:length] <- FALSE
vec_sort
# a b c f d e g
# 1 1 1 0 0 0 0
不是 Logical
str(vec_sort)
# Named num [1:7] 1 1 1 0 0 0 0
- attr(*, "names")= chr [1:7] "a" "b" "c" "f" ...
2nd
vec_sort <= min(vec_sort)
# a b c f d e g
# TRUE TRUE TRUE TRUE FALSE FALSE FALSE
这里第四个变量 f
也是 TRUE
,因为条件是这样设置的 . 它是最小的,但从最小也,我想只设置前3到 TRUE
尝试了更多的逻辑条件,但是这一切都导致前4个为 TRUE
,如果我尝试将其分配给 TRUE
或 FALSE
,则结果显示为 Named Numeric Vector ,希望1为TRUE,0为FALSE,但最终不会成为命名逻辑矢量 .
1 回答