0
У меня есть вектор z
как этотЦвета участок вектор на основе
z <- as.numeric(as.factor(c("A","B","C","D","E","F","G","H")))
и разные дни кадра df
данных, как этот
df[[1]]
ID LON LAT
A 1 1
B 10 14
C 12 13
df[[2]]
ID LON LAT
A 2 3
B 11 18
D 12 13
df[[3]]
ID LON LAT
A 13 1
E 10 14
D 12 13
где ID
s являются те, в z
, но может быть разные для каждого дня.
Я назначен цвет для каждого элемента вектора
range01 <- function(x)(x-min(x))/diff(range(x))
rainbow(7)
cRamp <- function(x){
cols <- colorRamp(rainbow(7))(range01(x))
apply(cols, 1, function(xt)rgb(xt[1], xt[2], xt[3], maxColorValue=255))
}
и что я хотел бы сделать, это построить на каждый день мой df
с цветами cRamp(z)
, но я не в состоянии связать ID
значение в каждом df
с одной в z
Вот мой код
for (i in 1:length(myfiles)){
plot(df[[i]]$LON,df[[i]]$LAT, col = cRamp(z))
map(add=T,col="saddlebrown",interior = FALSE)
legend("topleft", legend=c(unique(df[[i]]$ID)), col=cRamp(z))
}
, но цвет, например. ID
A
не то же самое для каждого дня!
Большое спасибо
Просьба представить воспроизводимые данные, особенно 'dput (г)'. 'range01 (z)' приводит к ошибке в x - min (x): нечисловой аргумент двоичному оператору 'с символьным вектором. – Roland
См. Отредактированный пост – user3036416
Почему 'as.numeric (as.factor (...))'? Это очень странный способ написания 'seq_along (...)'. –