我想创建一个绘制两个变量的双变量地图:
production
和
possession
. 为了给部分数据提供正确的颜色,我想添加一列颜色代码
"A", "B", "C"
对于一个变量和另一个变量
1, 2, 3
. 然后将两者结合起来。只需按照以下示例对数据进行编码即可:
下面是我的示例df和失败代码:
library(dplyr)
example_df <- structure(list(production = c(0.74, 1.34, 2.5), possession = c(5,
23.8, 124.89)), .Names = c("production", "possession"), row.names = c(NA,
-3L), class = c("tbl_df", "tbl", "data.frame"))
example_df %>%
mutate(colour_class_nr = case_when(.$production %in% 0.068:0.608 ~ "1",
.$production %in% 0.609:1.502 ~ "2",
.$production %in% 1.503:3.061 ~ "3",
TRUE ~ "none"),
colour_class_letter = case_when(.$possession %in% 0.276:9.6 ~ "A",
.$possession %in% 9.7:52 ~ "B",
.$possession %in% 52.1:155.3 ~ "C",
TRUE ~ "none"))
根据这些结果…:
# A tibble: 3 x 4
production possession colour_class_nr colour_class_letter
<dbl> <dbl> <chr> <chr>
1 0.740 5.00 4 none
2 1.34 23.8 4 none
3 2.50 125 4 none
但这是期望的输出:
# A tibble: 3 x 4
production possession colour_class_nr colour_class_letter
<dbl> <dbl> <dbl> <chr>
1 0.740 5.00 2 A
2 1.34 23.8 2 B
3 2.50 125 3 C
我是新来的
case_when()
结合mutate,希望有人能帮忙。