我正在尝试根据变量" weight"的值来插入调色板。我的数据集。
F2 <- colorRampPalette(c("#c2c6b3", "#353828"), bias = length(unique(E(gD)$weight)), space = "rgb", interpolate = "linear")
但是,我的数据集上的某些值具有NA值,这会在我的网络图上为该边生成的颜色上显示(0)值。
因此,当我尝试将此函数生成的颜色分配到R中网络图的边缘时,
colCodes <- F2(length(unique(E(gD)$weight2)))
edges_col <- sapply(E(gD)$weight2, function(x)
colCodes[which(sort(unique(E(gD)$weight2)) == x)])`
edges_col_df <- as.data.frame(t(col2rgb(edges_col, alpha = FALSE)))
我收到错误:&#34; invalide颜色名称`字符(0)&#39;&#34;
我在另一篇文章中看到如何通过缺失观察Imputing missing values keeping circular trend in mind周围的值的中位数o来推断缺失值的情况,但在我的情况下,我希望用NA值的观察值来获得我的颜色范围的下限值。
答案 0 :(得分:1)
一种可能的解决方案是将NA值重新编码为相应的下限值。
data$variable[is.na(data$variable)]<-min(data$variable)
有时为了数据完整性原因,将此向量设为新变量。
data$variable2[is.na(data$variable)]<-min(data$variable)
希望这有帮助!