2017-09-16 86 views
0

我想根據另一列的值創建一列顏色。這很適合使用colorRampPalette,但我無法通過V6使它適用於V4;我認爲,因爲他們是二元的。我怎樣才能得到二進制變量的彩色列?R colorRampPalette應用顏色值來創建新的'彩色'列

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

你能從V1到V3顯示一些成功的輸出嗎? – jsb

回答

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返回一個函數,它接受一個整數參數 (所需數量的顏色),並返回的 顏色的字符向量...

希望它有幫助。