Страница 1 из 1

Создание цикла для таблицы данных

Добавлено: 11 сен 2012, 00:58
ymr3R9Jge
Помогите, пожалуйста, сконструировать цикл из нескольких условий для таблицы данных. Имеется 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
Пробовал несколько вариантов, но запустить так и не смог...

Re: Создание цикла для таблицы данных

Добавлено: 11 сен 2012, 14:54
SS_Rebelious
Что-то в этом роде:

Код: Выделить всё

  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)
})

Re: Создание цикла для таблицы данных

Добавлено: 16 сен 2012, 20:38
gamm
а можно не мудрить (чтобы скобки не считать):

Код: Выделить всё

    table$sort <-4
    table$sort[ (table$Fe>=16 && table$Fe<18 && table$poroda==2)] <-1
...
 

Re: Создание цикла для таблицы данных

Добавлено: 20 апр 2020, 19:10
VistaSV30
Что-то поменялось?

У меня это заработало только когда я && заменил на &