尝试将颜色信息与子组链接时出现“无效的因子水平,NA生成”错误

时间:2019-12-03 12:49:25

标签: r dataframe

我正在尝试通过此操作将我的数据框链接到颜色。但是,我继续收到

  

“警告消息:   在[<-.factor*tmp*中,pca_matrix [,“ Subgroup”] == 1,值= c(1L,:     无效的因子水平,生成了NA”

samples_names <- row.names(PCA_Model$rotation)
# Bind sample names to their subgroup
pca_matrix <- cbind(samples_names, "Subgroup"=labeled_subgroup, stringsAsFactors=FALSE)
# Link dataframe to color
pca_matrix[,"Subgroup"][pca_matrix[,"Subgroup"]==1] <- "blue"
pca_matrix[,"Subgroup"][pca_matrix[,"Subgroup"]==2] <- "red"
pca_matrix[,"Subgroup"][pca_matrix[,"Subgroup"]==3] <- "yellow"
pca_matrix[,"Subgroup"][pca_matrix[,"Subgroup"]==4] <- "green"
pca_matrix[,"Subgroup"][pca_matrix[,"Subgroup"]==5] <- "black"
pca_matrix[,"Subgroup"][pca_matrix[,"Subgroup"]==6] <- "white"

我在网上阅读了其他问题,这是因为我的字符变量正在成为一个因素,在使数据框强制stringsAsFactors = FALSE成为字符时,我应该使用"Type"标志。

我的数据框如下所示,并包含子组C1-C6。我想将子组链接到一种颜色,以便可以将数据绘制为3d图,并使用颜色信息来区分组。

Image

1 个答案:

答案 0 :(得分:1)

不是一个一个地做,而是一个factor

factor(pca_matrix[,"Subgroup"], levels = paste0("C", 1:6), 
      labels = c("blue", "red", "yellow", "green", "black", "white"))