Помогите, пожалуйста, сконструировать цикл из нескольких условий для таблицы данных. Имеется data.frame "table" из нескольких столбцов: "Fe", "poroda", "sort" (данные относятся к геологии). Требуется создать условие для заполнения столбца "sort":
Если table$Fe>=16 и table$Fe<18 и table$poroda==2, тогда table$sort==1,
Если table$Fe>=18 и table$Fe<20 и table$poroda==2, тогда table$sort==2,
Если table$Fe>=18 и table$Fe<20 и table$poroda==3, тогда table$sort==3,
Иначе table$sort==4
Пробовал несколько вариантов, но запустить так и не смог...
Создание цикла для таблицы данных
-
- Активный участник
- Сообщения: 117
- Зарегистрирован: 31 окт 2011, 00:18
- Репутация: 14
- Откуда: Кривий Ріг
- SS_Rebelious
- Гуру
- Сообщения: 1304
- Зарегистрирован: 24 фев 2009, 16:51
- Репутация: 99
- Ваше звание: GIS pro-fan
- Откуда: Lahti / Газ-ПУТИНбург
- Контактная информация:
Re: Создание цикла для таблицы данных
Что-то в этом роде:
Код: Выделить всё
table.new <- within(table, {
table$sort <- ifelse( (table$Fe>=16 && table$Fe<18 && table$poroda==2), 1, table$sort)
table$sort <- ifelse( (table$Fe>=18 && table$Fe<20 && table$poroda==2), 2, table$sort)
table$sort <- ifelse( (table$Fe>=18 && table$Fe<20 && table$poroda==3), 3, table$sort)
table$sort <- ifelse( !( (table$sort %in% c(1, 2, 3))), 4, table$sort)
})
Look for something long enough, and you will find it. Look for something without understanding, and it will find you...
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
"All paid jobs absorb and degrade the mind." Aristotle
If you take 1 step towards freedom it'll take 2 steps towards you!
-
- Гуру
- Сообщения: 4057
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Создание цикла для таблицы данных
а можно не мудрить (чтобы скобки не считать):
Код: Выделить всё
table$sort <-4
table$sort[ (table$Fe>=16 && table$Fe<18 && table$poroda==2)] <-1
...
- VistaSV30
- Активный участник
- Сообщения: 185
- Зарегистрирован: 02 июл 2018, 15:05
- Репутация: 7
- Откуда: Балашиха
Re: Создание цикла для таблицы данных
Что-то поменялось?
У меня это заработало только когда я && заменил на &
У меня это заработало только когда я && заменил на &
Природа не просто эксцентричнее, чем мы полагаем - она эксцентричнее, чем мы способны предположить. John Haldane
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей