Вложенный, если еще вопрос не работает в Dataframe - PullRequest
2 голосов
/ 29 марта 2020

Я работаю со столбцом в массиве данных из чисел c, который называется "L_D" и имеет диапазон значений от 0,6 до 1,9. Я пытаюсь создать новый столбец, который классифицирует диапазон по трем диапазонам: «высокий» для L_D> 1,4, «низкий» для L_D <0,9 или «средний». </p>

#add L/D grouping to CompStrngth, <0.9=Low aspect ratio; >1.4=High Aspect Ratio, else = other raio
ifelse(CompStrngthData$L_D > 1.4, CompStrngthData$L_D_group <- "high",
   ifelse(CompStrngthData$L_D > 0.9, CompStrngthData$L_D_group <- "medium",
        CompStrngthData$L_D_group <- "low" )
)

Когда я запускаю этот код, он выдает желаемый результат в консоли. Но когда я открываю фрейм данных, он создает столбец, заполненный «low».

Из-за этого я нашел функцию обрезки, и она прекрасно работает с желаемыми результатами

CompStrngthData$L_D_group <- cut(CompStrngthData$L_D, breaks = c(-Inf,0.9,1.4,Inf), labels = c("low", "medium", "high"))

Я уверен, что это простая ошибка, которую я пропускаю с помощью фрейма данных или функции ifelse, просто пытаюсь понять мою ошибку.

1 Ответ

2 голосов
/ 29 марта 2020

Возможно, проблема связана с заданием внутри ifelse, вместо этого выведите его за пределы

CompStrngthData$L_D_group <- ifelse(CompStrngthData$L_D > 1.4,  "high",
    ifelse(CompStrngthData$L_D > 0.9, "medium",
    "low" )
         )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...