Использование набора диафрагмы. Скажем, я хочу, чтобы создать новый столбец под названием «красивый цветок» со следующими условиями:Создать новый столбец на основе boolean
[(Sepal.Length > 5.0) && (Petal.Length < 1.5)]
Как мне это сделать?
Использование набора диафрагмы. Скажем, я хочу, чтобы создать новый столбец под названием «красивый цветок» со следующими условиями:Создать новый столбец на основе boolean
[(Sepal.Length > 5.0) && (Petal.Length < 1.5)]
Как мне это сделать?
Одним из способов является использование ifelse
iris$nice_flower <- ifelse(iris$Sepal.Length > 5.0 & iris$Petal.Length < 1.5, 1, 0)
Другое варианты Пользуется as.integer
(я думаю akrun уже говорил об этом), что лучше, чем при использовании ifelse
as.integer(iris$Sepal.Length > 5.0 & iris$Petal.Length < 1.5)
В base
R:
iris$nice_flower<-(iris$Petal.Length<1.5) & (iris$Sepal.Length>5)
iris[iris$nice_flower==T,] #for verification
> iris$nice_flower <- iris$Sepal.Length > 5.0 & iris$Petal.Length < 1.5
> result <- iris[iris$nice_flower == T,]
> result
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species nice_flower
# 1 5.1 3.5 1.4 0.2 setosa TRUE
# 15 5.8 4.0 1.2 0.2 setosa TRUE
# 17 5.4 3.9 1.3 0.4 setosa TRUE
# 18 5.1 3.5 1.4 0.3 setosa TRUE
# 29 5.2 3.4 1.4 0.2 setosa TRUE
# 34 5.5 4.2 1.4 0.2 setosa TRUE
# 37 5.5 3.5 1.3 0.2 setosa TRUE
Не это уже отправил by @ user3293236 – akrun
Действительно, это только мой ответ немного переформатирован и отправлен более чем на 45 минут позже ... :( – user3293236
использования в функции, чтобы создать новый столбец
iris <- within(iris , nice_flower <-ifelse(iris$Sepal.Length > 5.0 & iris$Petal.Length < 1.5, T, F))
iris <- subset(iris, nice_flower %in% T)
'ирис $ nice_flower <- (ирис $ Petal.Length <1,5) и (ирис $ Sepal.Length> 5)' – user3293236