这个问题是在研究这个问题时出现的.
I have this manipulated iris dataset with two vectors:个
new_name <- c("new_setoas", "new_virginica")
to_select <- c("setosa", "virginica")
iris %>%
group_by(Species) %>%
slice(1:2) %>%
mutate(Species = as.character(Species))
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <chr>
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 7 3.2 4.7 1.4 versicolor
4 6.4 3.2 4.5 1.5 versicolor
5 6.3 3.3 6 2.5 virginica
6 5.8 2.7 5.1 1.9 virginica
我想用另一个向量(new_name
)中的值替换从一个向量(to_select
)中 Select 的物种中的值
When I do:个
new_name <- c("new_setoas", "new_virginica")
to_select <- c("setosa", "virginica")
iris %>%
group_by(Species) %>%
slice(1:2) %>%
mutate(Species = as.character(Species)) %>%
mutate(Species = ifelse(Species %in% to_select, new_name, Species))
# I get:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <chr>
1 5.1 3.5 1.4 0.2 new_setoas
2 4.9 3 1.4 0.2 **new_virginica** # should be new_setoas
3 7 3.2 4.7 1.4 versicolor
4 6.4 3.2 4.5 1.5 versicolor
5 6.3 3.3 6 2.5 **new_setoas** # should be new_virginica
6 5.8 2.7 5.1 1.9 new_virginica
虽然我知道这是因为recycling.我不知道该怎么避免这件事!