2017-09-16 3 views
0

J'essaie de créer une colonne de couleurs basée sur les valeurs d'une autre colonne. Cela fonctionne plutôt bien avec colorRampPalette, mais je n'arrive pas à l'utiliser pour V4 à V6; Je pense parce qu'ils sont binaires. Comment puis-je obtenir une colonne colorée pour les variables binaires?R colorRampPalette pour appliquer des valeurs de couleur à la création de nouvelles colonnes 'colorées'

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

Pouvez-vous afficher une sortie réussie de V1 à V3? – jsb

Répondre

0

C'est ce que je suis venu avec jusqu'à présent:

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))) 

Donc ce que vous avez à faire est de traiter chaque colonne différemment, et calculer une valeur entière pour chaque colonne, depuis:

colorRampPalette retourne une fonction qui prend un argument entier (le nombre de couleurs) et renvoie un vecteur de caractères de couleurs ...

Espérons que ça aide.