2017-04-24 47 views
2

如預期中R下面的命令不起作用:調色板沒有返回正確的長度?

Dummy <- c(0,1,2,3,4,5) 
length(palette(rainbow(length(Dummy)))) 
[1] 8 
length(palette(rainbow(length(Dummy)))) 
[1] 6 
length(palette(rainbow(length(Dummy)))) 
[1] 6 

爲什麼?

+0

謝謝Marco。這很奇怪,現在我必須運行調色板(彩虹(長度(虛擬)))兩次以避免錯誤。將看看我是否可以在這裏得到它的底部報告結果。 – user2350366

回答

7

當您使用帶參數的palette時,它所做的主要事情是副作用:它會更改有效的調色板。它的另一件事是它返回調用palette(從?palette)之前處於效果調色板:

值:

的字符向量賦予調色板其中在效果。除非參數被省略,否則這個 是'不可見的'。

所以,你的情況,你第一次叫palette(...)palette返回默認調色板(長度爲8)將活動調色板是新的。下一次您調用它時,它會返回您之前設置的調色板。