抱歉,如果这是重复的。我找不到答案。
我有一个命名向量(在这种情况下是逻辑的(:
a <- c("a" = TRUE, "b" = TRUE, "c" = FALSE, "e" = FALSE)
a
a b c e
TRUE TRUE FALSE FALSE
如果我把它变成一个整数,名字就消失了。
> as.integer(a)
[1] 1 1 0 0
我该如何防止这种情况?
您可以使用[]
保留a
的属性
a[] <- as.integer(a)
#a b c e
#1 1 0 0
您可以使用以下代码
a <- +a
这样
> a
a b c e
1 1 0 0
一些替代方案
class(a) <- "integer"
a b c e
1 1 0 0
或
ifelse(a, 1L, 0L)
a b c e
1 1 0 0