У меня есть простой фрейм данных с двумя векторами, «RECORDS» и «FLAG», который выглядит следующим образом:
RECORDS FLAG
H12434 TRUE
W3211 FALSE
Maa FALSE
Mab FALSE
Mac FALSE
Mad FALSE
T1_12 FALSE
H7367 TRUE
R001 FALSE
W4810.5 FALSE
Maa FALSE
Mab FALSE
T2_12 FALSE
Я хочу изменить первый TRUE на 1, а все последующие FALSE на 1, когдапоявляется второе значение ИСТИНА, увеличьте счетчик на 1 и измените значение второго ИСТИНА и последующее значение ЛОЖЬ на 2. Таким образом, результат должен выглядеть следующим образом:
RECORDS FLAG
H12434 1
W3211 1
Maa 1
Mab 1
Mac 1
Mad 1
T1_12 1
H7367 2
R001 2
W4810.5 2
Maa 2
Mab 2
T2_12 2
Я пробовал так много циклов, как показано ниже, но у меня недостаточно опыта, чтобызаставить его работать.
counter = 0
for (i in seq_along(data))
{
if(data$flag == TRUE)
{
counter <- counter + 1
data$flag <- counter
}
else
{
data$flag <- counter
}
}
Я надеялся, что кто-то может помочь мне понять все, что я делаю здесь неправильно.Благодаря.