R colorRampPalette用于应用颜色值来创建新的'彩色'列

时间:2017-09-16 17:58:06

标签: r vector colors

我尝试根据另一列的值创建一列颜色。使用colorRampPalette可以很好地工作,但我不能让它适用于V4到V6;我认为因为它们是二元的。如何获取二进制变量的彩色列?

set.seed(123)
md <- data.frame(
  V1 = c('link','b','c','d','e','f','g','h'),
  V2 = sample(c('link','file'),8,replace=T),
  V3 = 1:8,
  v4=sample(c('Yes','No'),8,replace = T),
  v5=sample(c('Yes','No'),8,replace = T),
  v6=sample(c('Yes','No'),8,replace = T))
colfunc <- colorRampPalette(c("blue", "grey"))
md$color <- colfunc(md$v4)

1 个答案:

答案 0 :(得分:0)

这是我到目前为止所提出的:

colorRampPalette(c("blue", "grey"))(length(md$V1))
colorRampPalette(c("blue", "grey"))(length(unique(md$V2)))
colorRampPalette(c("blue", "grey"))(max(md$V3))
colorRampPalette(c("blue", "grey"))(length(unique(md$v4)))
colorRampPalette(c("blue", "grey"))(length(unique(md$v5)))
colorRampPalette(c("blue", "grey"))(length(unique(md$v6)))

所以你需要做的是以不同的方式处理每一列,并计算每列的整数值,因为:

  

colorRampPalette返回一个带整数参数的函数   (所需的颜色数)并返回一个字符向量   颜色...

希望它有所帮助。