我尝试根据另一列的值创建一列颜色。使用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)
答案 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返回一个带整数参数的函数 (所需的颜色数)并返回一个字符向量 颜色...
希望它有所帮助。