我有下面的DF是基于虹膜DF在dplyr。seticolor的值是虹膜中“Setosa”和“versicolor”行的值的总和。
iris_3 <- read.table(header = TRUE, text = "
species_id Species Petal.Width
1 1 virginica 2.5
2 1 seticolor 1.6
3 2 virginica 1.9
4 2 seticolor 1.7
5 3 virginica 2.1
6 3 seticolor 1.7
")
现在我需要根据这个DF的行(没有花瓣)将这个DF与虹膜DF连接起来。虹膜中的长度列)。
我试过这个:
iris_merged <- iris_3 %>% left_join(select(iris,-(Petal.Length | Petal.Width)),
by =c("Species","species_id"))
但后来我离开了很多NA的“seticolor”行。
species_id Species Petal.Width Sepal.Length Sepal.Width
<int> <chr> <dbl> <dbl> <dbl>
1 1 virginica 2.5 6.3 3.3
2 1 seticolor 1.6 NA NA
3 2 virginica 1.9 5.8 2.7
4 2 seticolor 1.7 NA NA
5 3 virginica 2.1 7.1 3
6 3 seticolor 1.7 NA NA
我如何将iris中的“setosa”和“versicolor”行组合起来,以匹配当前DF中的“seticolor”行?有没有可能在不创建辅助DF的情况下?
1条答案
按热度按时间mu0hgdu01#
您可以使用{powerjoin}的开发版本。如果您不需要两个版本的“Species”列,请使用
keep = "left"
或keep = "right"
。