Присвоение цветов признакам с последующим сохранением

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
ymr3R9Jge
Активный участник
Сообщения: 117
Зарегистрирован: 31 окт 2011, 00:18
Репутация: 14
Откуда: Кривий Ріг

Присвоение цветов признакам с последующим сохранением

Сообщение ymr3R9Jge »

Всплыла такая задача: имеется таблица (экспорт из базы данных) опробования по скважинам. Каждой пробе присвоен свой ID породы (тип "integer"). Необходимо сделать следующее:
1. разным породам в среде R автоматически присвоить разные цвета (т.е. не забивать вручную более 50-ти пород). Цвета желательно брать с наибольшим разбросом по палитре (чтобы на графиках породы хорошо различались);
2. работать с присвоенными цветами так, чтобы привязка к породам сохранялась и после логических операций с исходной таблицей (например - выбор определённых пород из одной таблицы в другую должен сохранять ПЕРВИЧНЫЕ УРОВНИ фактора цветов).
Помогите пожалуйста выработать последовательность действий!
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Присвоение цветов признакам с последующим сохранением

Сообщение gamm »

ymr3R9Jge писал(а):1. разным породам в среде R автоматически присвоить разные цвета (т.е. не забивать вручную более 50-ти пород).
foo<-colors() создаст вектор из 657 имен цветов, случайно выбрать индексы можете с помощью sample(1:length(foo),50). Выведите цвета, несколько раз сеткой квадратиков 5х5 (установив предварительно par(mfrow = c(5,5)) Которые не понравятся, замените руками, и запомните вектор цветов (сохраните в файл)
2. работать с присвоенными цветами так, чтобы привязка к породам сохранялась
Помогите пожалуйста выработать последовательность действий!
сделайте таблице перекодировки из двух столбцов, в первом - коды пород, во втором - цвета. Номера строк получите из столбцов кодов с помощью ind<-match(data_base$code,recore[,1]), столбец цветов - recode[ind,2]

как-то так ...
ymr3R9Jge
Активный участник
Сообщения: 117
Зарегистрирован: 31 окт 2011, 00:18
Репутация: 14
Откуда: Кривий Ріг

Re: Присвоение цветов признакам с последующим сохранением

Сообщение ymr3R9Jge »

Всё равно не понял... Я создал таблицу "порода-цвет" из двух символьных векторов длиной 52 значения (52 типа пород).
При сортировке из первичной таблицы данных я выбираю пробы по породам DF, MN, TC и ZF. Получается таблица из 350-ти строк. Как теперь присвоить породам в этой таблице цвета в соответсвии с таблицей "порода-цвет"?
Второй вопрос - для того, чтобы нормально создавать легенды в функции "plot" нужно, чтобы индексы пород и цветов были строго привязаны к уровням факторов. Как правильно удалить пустые уровни в факторах "порода" и "цвет", чтобы они не сместились относительно друг-друга (ручной перебор не в счёт)?
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Присвоение цветов признакам с последующим сохранением

Сообщение gamm »

ymr3R9Jge писал(а):Всё равно не понял... Я создал таблицу "порода-цвет" из двух символьных векторов длиной 52 значения (52 типа пород).
пусть ее зовут recode
При сортировке из первичной таблицы данных я выбираю пробы по породам DF, MN, TC и ZF. Получается таблица из 350-ти строк.

пусть ее зовут data, а стобец, к котором породы, code
Как теперь присвоить породам в этой таблице цвета в соответствии с таблицей "порода-цвет"?
пусть столбец цветов зовут color, тогда
ind<-match(data$code,recode[,1])
ind[is.na(ind)]<-1 # тем кодам, которых не нашли, в т.ч. NA, пустым, и т.д. присваиваем цвет номер 1
data$color<-recode[ind,2]

как-то так ...
Ответить

Вернуться в «R»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя