У меня есть простой фрейм данных вроде этого:
col1 col2
a 1
b 2
a 2
Я буду называть этот фрейм данных table
. Я пытаюсь создать переменные a1
и a2
, где значение a1
будет 1 в этом случае, а значение a2
будет 2. Моя текущая попытка - получить a1
и a2
:
for (i in 1:nrow(table)) {
# Getting a1
if (col1 == 'a') {
a1 <- as.numeric(table %>% dplyr::select(col2))
} else {
if (a1 != 0) {
a1 <- a1
} else {
a1 <- 0
}
}
# Getting a2
if (col1 == 'a' & a1 != 0) {
a2 <- as.numeric(table %>% dplyr::select(col2))
} else {
if (a2 != 0) {
a2 <- a2
} else {
a2 <- 0
}
}
}
С этим я получаю a1
и a2
равным 2. Таким образом, циклы правильно идентифицируют второй экземпляр, где col1 = 'a'
, но для a1
мне нужен первый экземпляр, где col1 = 'a'
, который постоянно перезаписывается.
Есть предложения?