将向量转换为因子

问题描述 投票:0回答:1

我有 3 个向量(A、B、C),希望将所有向量转换为单个因子 (ABC)。各个向量被二分 (0,1)。问题是,当我运行代码时,1 似乎没有被计算在内,因此总数始终为零。

# Example data 
data$A <- c(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0)
data$B <- c(0, 1, 0, 1, 0, 1, 0, 1, 0, , 0, 1)
data$C <- c(0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0)

# Combine your dichotomized vectors into a data frame
data$A <- ifelse(data$A == 1, "A", "No")
data$B <- ifelse(data$B == 1, "B", "No")
data$C <- ifelse(data$C == 1, "C", "No")


ABC_factor <- factor(paste(data$A, data$B, data$C, sep= " "), levels = c("A", "B", "C"))
r r-factor
1个回答
0
投票

我想你应该尝试

labels
而不是
levels

> factor(rowSums(data), labels = c(0, 1))
 [1] 0 1 1 1 0 1 0 1 0 1 0 0
Levels: 0 1
© www.soinside.com 2019 - 2024. All rights reserved.